今天成功在springboot上整合了mybatis,在这里记录一下过程,方便以后查阅。
第一步,创建一个项目。
直接上图
1.1 快速创建一个springboot项目
1.2选择项目名称
1.3 选择初始化依赖
1.4 选择存储地址
到这里一个springboot的项目就创建好了
1.5修改maven的配置文件
打开设置
1.6创建相关的包和文件夹最主要三个如下图片
选择合适的maven仓库和设置文件
1.6 创建相关的目录
第二步 设置application.properties
application.properties
server:
port: 8080
spring:
datasource:
name: mysql
url: jdbc:mysql://127.0.0.1:3306/myprivate
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
mybatis:
mapper-locations: classpath:mapping/*Mapper.xml
type-aliases-package: com.ocean.pojo
其中name,url,username,password和数据库的对应关系如下图
第三步 pom文件中导入mybatis generator插件和建立generatorConfig.xml文件
3.1
在pom.xml文件中添加插件
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
3.2
在resource文件夹下建立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>
<!--mysql 连接数据库jar 这里选择自己本地位置 -->
<classPathEntry location="D:\Program Files\apache-maven-3.6.1\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar" />
<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/myprivate?useUnicode=true"
userId="root" password="123456">
</jdbcConnection>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL
和 NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="cn.cxc.batistestdemo.domain.entity"
targetProject="src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 如果maven工程只是单独的一个工程,targetProject="src/main/java"
若果maven工程是分模块的工程,targetProject="所属模块的名称",例如: targetProject="ecps-manager-mapper",下同 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="cn.cxc.mybatisdemo.mapper" targetProject="src/main/java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定数据库表 -->
<table tableName="user_info" domainObjectName="UserInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
注意修改五处位置
1
改为你本地放mysql-connector包的位置
<!--mysql 连接数据库jar 这里选择自己本地位置 -->
<classPathEntry location="D:\Program Files\apache-maven-3.6.1\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar" />
2
改成你要连接数据库的信息
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/myprivate?useUnicode=true"
userId="root" password="123456">
</jdbcConnection>
3
改成要生成实体类的位置
<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="cn.cxc.mybatisdemo.domain.entity"
targetProject="src/main/java">
4
改为生成xml文件所在位置
<!-- targetPackage:mapper接口生成的位置 -->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
5
改成生成mapper接口所在位置
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="cn.cxc.mybatisdemo.mapper" targetProject="src/main/java">
第四步 终于到了最后一步了,自动生成代码
4.1
在generatorConfig.xml文件
后加入
<table tableName="user_info" domainObjectName="UserInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false"></table>
tableName表示要在数据库里的表名,domainObjectName表示你要生成的实体类的名字
4.2
最关键一步到了
点击maven,然后双击红框出的插件。
最后贴一张项目目录图