`

springboot 集成mybaties

阅读更多
前情: 项目DB访问主要是JPA。 但因为前期需求的不确定等原因,导致entity的关联关系等不确定。 明显感觉JPA在多条件查询方面要弱于mybaties。所以集成mybaties到项目, 数据访问层,混用JPA和mybaties。 其中mybaties主要用于特殊查询:

1.pom依赖:
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>1.3.0</version>
</dependency>

<!-- mybatis pagehelper -->
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
	<version>4.1.6</version>
</dependency>

<!-- mybatis generator -->
<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.5</version>
</plugin>


2.代码生成配置(resources目录下):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<!-- 使用 mvn mybatis-generator:generate -->
<generatorConfiguration>
    <properties resource="application-dev.yml"/>
	<classPathEntry location="E://maven_repository/mysql/mysql-connector-java/5.1.42/mysql-connector-java-5.1.42.jar" />
    <context id="tables" targetRuntime="MyBatis3" defaultModelType="flat">
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
	        connectionURL="jdbc:mysql://192.168.0.103:3306/db_petstore?useUnicode=yes&amp;characterEncoding=UTF-8"
	        userId="xxx"
	        password="xxx">
        </jdbcConnection>
        <javaModelGenerator targetPackage="api.xxx.com.petstore.vo"
                            targetProject="src/main/java">
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <sqlMapGenerator targetPackage="sqlMapperXml"
                         targetProject="src/main/resources">
        </sqlMapGenerator>
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="api.xxx.com.petstore.mapper"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

		<!-- schema:指定dao文件所属分类文件夹| doaminObjectName:指定生成对象名  -->
        <table schema="" tableName="sales_order" domainObjectName="SalesOrder" selectByExampleQueryId="false"
               enableCountByExample="false"
               enableDeleteByExample="false"
               enableUpdateByExample="false"
               enableSelectByExample="false">
            <generatedKey column="id" sqlStatement="assigned" identity="true"/>
        </table>
    </context>
</generatorConfiguration>


3. mybatis配置
#mybatis
mybatis:
  type-aliases-package: api.qooco.com.petstore.entity
  mapper-locations: classpath*:/sqlMapperXml/*.xml
  configuration:
    map-underscore-to-camel-case: true
    use-generated-keys: true
    default-fetch-size: 100
    default-statement-timeout: 25000
    cache-enabled: true
    aggressive-lazy-loading: true
    lazy-loading-enabled: false
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl


4.分页配置:
@Configuration
@EnableJpaAuditing
@EnableTransactionManagement
@EnableSpringDataWebSupport
@MapperScan("api.xxx.com.petstore.mapper")
public class AppConfig {

    @Bean
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("dialect", "mysql");
        p.setProperty("supportMethodsArguments", "true");
        p.setProperty("autoRuntimeDialect", "true");
        p.setProperty("offsetAsPageNum", "true");
        p.setProperty("rowBoundsWithCount", "true");
        p.setProperty("reasonable", "true");
        p.setProperty("returnPageInfo", "always");
        p.setProperty("params", "count=countSql");
        pageHelper.setProperties(p);
        return pageHelper;
    }
}
    }
分享到:
评论

相关推荐

    springboot集成mybatis-plus的demo基础搭建

    1,mybatis-plus可以看成是mybatis的一种升华,即保留了完整的mybatis的功能,又有新的提高,可以简化编码,将...3,本资源中是源码,完整的演示了springboot集成mybatis-plus 的全过程,简单易懂易上手,强烈推荐。

    SpringBoot集成MyBatis-Plus实现国产数据库适配.docx

    SpringBoot 集成 MyBatis-Plus 实现国产数据库适配 MyBatis-Plus 是一款在 MyBatis 的基础上进行扩展的开源工具包,只做增强不做改变,引入 MyBatis-Plus 不会对您现有的 Mybatis 构架产生任何影响。MyBatis-Plus ...

    SpringBoot集成Mybatis-Plus+代码生成工具.doc

    SpringBoot 集成 Mybatis-Plus 代码生成工具 SpringBoot 是一个基于 Java 的框架,它提供了快速构建生产级别的应用程序的能力。Mybatis-Plus 是一个基于 Mybatis 框架的增强工具,它提供了代码生成、分页、查询等...

    SpringBoot集成MyBatis-Plus快速入门Demo

    编译器版本:IntelliJ IDEA 2020.3.2 x64 JDK版本:java 1.8.0_111 SpringBoot集成MyBatis-Plus快速入门Demo,包括CRUD操作、多条件查询、性能分析等代码实现。

    SpringBoot集成 mybatis +MP +thymleaf

    **SpringBoot集成MyBatis** 1. **添加依赖**:首先,在`pom.xml`文件中引入SpringBoot的`spring-boot-starter-web`和`mybatis-spring-boot-starter`依赖,确保项目能够支持Web开发和MyBatis的自动配置。 2. **配置...

    springboot集成mybatis的xml方式完整例子

    在本文中,我们将深入探讨如何将MyBatis与SpringBoot框架进行集成,特别是采用XML配置的方式。SpringBoot因其简化配置和快速开发的能力而备受青睐,而MyBatis作为一款轻量级的持久层框架,提供了灵活的SQL映射功能。...

    springboot集成mybatis demo

    本文将深入探讨如何在 Spring Boot 项目中集成 MyBatis,以便充分利用这两个框架的优势。 首先,我们需要在项目的 `pom.xml` 文件中添加 Spring Boot 和 MyBatis 的依赖。Spring Boot 的父依赖可以提供许多默认配置...

    springboot集成Mybatis和quartz

    当我们谈论"springboot集成Mybatis和quartz"时,意味着我们要将这三个组件结合在一起,创建一个具有数据库操作和定时任务功能的项目。下面我们将详细讨论如何实现这个集成。 首先,集成Spring Boot和MyBatis。...

    SpringBoot集成MyBatis实例

    集成Spring Boot和MyBatis的步骤如下: 1. **添加依赖**:在`pom.xml`文件中,我们需要引入Spring Boot的Web起步依赖和MyBatis的起步依赖。这样,Spring Boot会自动配置所需的依赖项。 ```xml &lt;groupId&gt;org....

    springboot+mybatis+mybatisplus+swagger redis框架整合

    springboot+mybatis+mybatisplus+swagger redis框架整合springboot+mybatis+mybatisplus+swagger redis框架整合springboot+mybatis+mybatisplus+swagger redis框架整合springboot+mybatis+mybatisplus+swagger redis...

    java代码SpringBoot集成mybatis实现excel表格与mysql数据库交互数据

    springboot集成mybatis简单demo实例,实现excel表格与mysql数据库的数据交互(test测试实现),springboot+mybatis项目的简单操作(注解+mybatisxml文件配置)

    springboot集成mybatis_redis和Junit.zip

    在本项目中,"springboot集成mybatis_redis和Junit.zip" 提供了一个基于Spring Boot的集成开发案例,其中包含了Spring Boot与MyBatis、Redis和JUnit的整合。以下是关于这些技术及其集成的关键知识点的详细解释: 1....

    SpringBoot集成MyBatis-Plus例子

    SpringBoot集成MyBatis-Plus是一个常见的开发场景,它极大地简化了数据库操作并提升了开发效率。MyBatis-Plus(简称MP)是一个MyBatis的扩展插件,它在MyBatis的基础上做了很多自动化的工作,比如自动填充CRUD操作、...

    SpringBoot第 3 讲:SpringBoot集成MyBatis+SpringMVC

    在SpringBoot集成MyBatis的过程中,我们需要做以下几步: 1. 添加依赖:在pom.xml文件中,引入Spring Boot的starter-web、starter-data-jpa以及MyBatis的相关依赖。 2. 配置MyBatis:创建mybatis-config.xml文件,...

    springboot集成mybatis注解版与配置版

    springboot与mybatis集成,注解版与配置版,下载可运行。集成过程可参考博客https://blog.csdn.net/m0_37984249/article/details/80923212

    Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级报表后台管理系统.rar

    项目描述 在上家公司自己集成的一套系统,用了两个多月的时间完成的:Springboot+Mybatis-plus+ SpringMvc+Shiro+Redis企业级开发系统 Springboot作为容器,使用mybatis作为持久层框架 使用官方推荐的thymeleaf做为...

    springboot-mybatis搭建

    3. **SpringBoot集成MyBatis** 集成MyBatis到SpringBoot项目中,首先需要在`pom.xml`中添加MyBatis和相关依赖,例如`mybatis-spring-boot-starter`。然后配置`mybatis-config.xml`,定义数据源、事务管理器等,或者...

    springboot集成mybatis,mysql

    接下来,为了集成MyBatis,我们需要在`pom.xml`中添加MyBatis和其Spring Boot starter的依赖。同时,也要添加MySQL驱动的依赖,以便连接到MySQL数据库。例如: ```xml &lt;groupId&gt;org.mybatis.spring.boot ...

    springboot集成mybatis的demo

    在本项目"springboot集成mybatis的demo"中,我们将探讨如何将流行的Java框架Spring Boot与数据持久化库MyBatis结合使用。Spring Boot以其简洁的配置和开箱即用的功能,大大简化了Spring应用程序的开发流程,而...

    springboot集成mybatis用thymeleaf进行详细的增删改查(适合刚进公司的新人)

    本人的搭载软件为eclipse的spring-tool-suite-3.9.5版本(官网上直接能下到),数据库为mysql,导入程序直接可以运行,增删改查每个模块都很详细,适合刚进入公司的新人或者毕业生进行简单业务处理,有很强的参考...

Global site tag (gtag.js) - Google Analytics