前言
配置mybatis也不是第一次了,一直想整理成博客。今天趁这个闲暇(banzhuan)的午后,把配置过程整理一下。个人博客地址:https://liujiashengjason.club/
环境
- jdk>=1.8
- idea 2018.3
- mysql 5.6
新建springboot项目
打开idea新建springboot项目
next
下一步添加web依赖
新建完成之后等待maven加载依赖
为了照顾网络很差的同学,我提供github仓库中的springboot,可以直接clone
springboot-helloworld
查看项目结构
添加mybatis依赖
访问maven仓库
搜索mybatis,选择最新版本,这个仓库提供各大插件的maven下载。需要啥都有。
这里贴出来
<!--mybatis专门为springboot打造的依赖,添加这个依赖以使用@Mapper注解-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
下一步打开pom.xml,将依赖复制到依赖标签中。
添加mysql依赖
<!-- 添加 MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
同上,添加mysql依赖
下面是pom.xml文件预览
添加application.properties配置
注意将数据库相关配置信息更改成自己的
#加载数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/你的数据库名?useUnicode=true&characterEncoding=utf8
spring.datasource.username=你的数据库账号名
spring.datasource.password=你的数据库密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#配置映射文件位置
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.lanqiao.msg.model
#配置列名表名映射
mybatis.configuration.map-underscore-to-camel-case=true
新建dao层,model层,mapper映射文件夹位置
打开项目,在com.mybatis.demo下新建package,分别为dao,model。在resources下新建mapper
这里的dao,存放我们的mybatis接口文件,用来处理持久层操作,model存放实体类,实体类是我们数据库表的映射,用于数据传输。mapper存放xml映射文件,xml映射文件可以当做是接口文件的实现类,我们的sql就写在这里。
创建数据库
打开Navicat或者其他mysql控制工具,新建一个数据库。
名字随便取,字符集与排序规则选utf-8。这一步的目的是防止编码错误,导致无法存储中文。
新建数据表
CREATE TABLE `tb_user` (
`user_id` int(10) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) NOT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
值得一提的点,mybatis提供了我们一个实体类与表的映射规则,即:实体类使用驼峰命名来分割名称,表名使用下划线来分割名称.
举个栗子:实体类名User 其有一个属性userId 对应数据库中表名tb_user,列名user_id。
配置文件中配置了列名表名映射就是为了让mybatis提供这个映射规则。
配置generator
这一步是可选项,不想配置generator的同学可以跳过,直接进入下一步。这一步的目的是为了让项目自动生成实体类,dao接口和映射文件,进一步提高开发效率。
添加依赖
在pom的plugins中添加依赖
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
</dependencies>
</plugin>
新建generatorConfig.xml
在resources文件下创建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>
<!--这里配置自己的jdbc路径,由于大家的都不同,方便大家使用,我直接在pom中添加了jdbc依赖-->
<!--<classPathEntry location="D:\environment\apache-maven-3.6.0\mavenRepository\mysql\mysql-connector-java\5.1.41" />-->
<context id="MysqlTables" targetRuntime="MyBatis3">
<commentGenerator>
<!--抑制警告-->
<property name="suppressTypeWarnings" value="true" />
<!--是否去除自动生成的注释 true:是 : false:否-->
<!--bug:如果这里为true,xml文件内容会生成两遍-->
<property name="suppressAllComments" value="false