keac's Bolg.

spirngboot学习 整合mybatis

字数统计: 1k阅读时长: 5 min
2019/07/25 Share

SpirngBoot 学习 整合mybatis

加入依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!--JDBC-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<!--Mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>

再下面的plugins 加入

1
2
3
4
5
6
7
8
9
10
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.1</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>

新建 application.yml

在 resources 文件夹下新建 application.yml

在配置文件里面不要使用中文注释,非常容易乱码

mysql://127.0.0.1/t?…. 这里的t修改为自己的数据库名字

?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8

这一段是使用了Unicode编码,另外把字符集编码设为utf-8防止乱码,服务器时间设为+8地区

(注意缩进问题)

1
2
3
4
5
6
7
8
9
10
11
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://127.0.0.1/t?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.keac

建立 generator

在 resources 下面建立一个文件夹叫做 generator ,再在这个文件夹下面新建 generatorConfig.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?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>
<!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
<classPathEntry location="C:\Users\11765\.m2\repository\mysql\mysql-connector-java\8.0.15\mysql-connector-java-8.0.15.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="false"/>
</commentGenerator>
<!--数据库连接驱动类,URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/t?serverTimezone=GMT%2B8&amp;useUnicode=true&amp;characterEncoding=utf-8" userId="root" password="root">
<property name="nullCatalogMeansCurrent" value="true"/>
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成(实体)模型的包名和位置-->
<javaModelGenerator targetPackage="com.keac.pojo" targetProject="src\main\java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成XML映射文件的包名和位置-->
<sqlMapGenerator targetPackage="resources.mapper" targetProject="src\main">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO接口的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.keac.mapper" targetProject="src\main\java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>

在这个地方可能会爆红

sdfsdf

在设置里面添加以下

sdfsdf

修改数据驱动包位置
sdfsdf

复制自己驱动包的位置,放到 classPathEntry location=”” 这里面

sdfsdf

按照注释修改下配置

在最后的table里面写入自己的表面

1
<table tableName="user"

generator运行配置

generator运行配置

新建一个Maven 命名为 generator 在里面 打上 mybatis-generator:generate -e

generator运行配置

配置好之后运行 generator

之后就可以看到下多出了几个文件夹,可以看到mysql已经被映射为实体类了

generator运行配置

在主函数上面加入,配置扫描mapper的文件路径

1
@MapperScan(basePackages = "com.keac.mapper")

1
2
3
4
5
6
@Autowired
private UserMapper userMapper;
@RequestMapping("/index")
public String index(){
return userMapper.selectByPrimaryKey(1).getName();
}

访问/index后可以看到从数据库里面查出来的name

generator运行配置

CATALOG
  1. 1. SpirngBoot 学习 整合mybatis
    1. 1.1. 加入依赖
    2. 1.2. 新建 application.yml
    3. 1.3. 建立 generator
    4. 1.4. generator运行配置