同步操作将从 vanguard/springboot-mybatis-example 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
springboot-mybatis-example是基于Spring Boot与Mybatis相结合的脚手架项目,并采用了第三方开源项目通用Mapper,通用Mapper可以极大的方便开发人员。 可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。极其方便的使用MyBatis单表的增删改查。支持单表操作,不支持通用的多表联合查询,对于多表 联合查询可以用Mybatis原生的sql实现。让你可以快速搭建SpringBoot + Mybatis项目的框架。
核心框架:Spring Boot 2.1.2.RELEASE
持久层框架:Mybatis Spring Boot 1.3.1 + Mapper Spring Boot 2.0.4
MyBatis 通用 Mapper4
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!--mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.4</version>
</dependency>
<!--pagehelper-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
Mybatis Geneator 详解:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-generator</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</plugin>
generator/generatorConfig.xml
<?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">
<generatorConfiguration>
<!-- 引入配置文件 -->
<properties resource="mybatisGeneratorinit.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="com.vanguard.commons.base.BaseMapper"/>
</plugin>
<!-- jdbc连接 -->
<jdbcConnection driverClass="${jdbc_driver}"
connectionURL="${jdbc_url}"
userId="${jdbc_user}"
password="${jdbc_password}">
<!--MySQL 8.x 需要指定服务器的时区-->
<property name="serverTimezone" value="UTC"/>
<!--MySQL 不支持 schema 或者 catalog 所以需要添加这个 只生成指定数据库表代码-->
<!--参考 : http://www.mybatis.org/generator/usage/mysql.html-->
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>
<!-- 生成实体类地址 -->
<javaModelGenerator targetPackage="com.vanguard.domain" targetProject="src/main/java"/>
<!-- 生成Mapper xml文件 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
<!-- 生成Mapper xml对应Mapper接口 -->
<javaClientGenerator targetPackage="com.vanguard.mapper" targetProject="src/main/java"
type="XMLMAPPER"/>
<!-- table可以有多个,每个数据库中的表都可以写一个table,tableName表示要匹配的数据库表,
也可以在tableName属性中通过使用%通配符来匹配所有数据库表,只有匹配的表才会自动生成文件 -->
<table tableName="tb_user" domainObjectName="User">
<!-- 数据库表主键 -->
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
</table>
</context>
</generatorConfiguration>
运行插件使用命令:
mvn mybatis-generator:generate
当控制台如图显示build success时,代表生成代码成功:
如下图,对应目录可看到生成的代码:
application.yml
mybatis:
type-aliases-package: com.vanguard.domain
#Mybatis的Mapper配置文件路径
mapper-locations: classpath:mapper/*.xml
configuration:
#开启驼峰式属性和字段映射
mapUnderscoreToCamelCase: true
#打印运行的SQL语句到控制台
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper:
mappers:
#指定Mapper的BaseMapper的路径
- com.vanguard.commons.base.BaseMapper
notEmpty: true
identity: MYSQL
before: false
#分页组件配置
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
Spring Boot入口类加入MapperScan注解指定Mapper接口的路径
SpringBootMybatisApplication.java
以上操作完成后,就可以完美的写代码了,对于Mybatis的增、删、改、查操作的代码,都不用在写了,我们以后可以更好的写业务层代码了。
因为Mapper对于Mybatis的一些基本的增删改查都做了封装,我们只需要调用就可以了!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。