SpringBoot整合Mybaties
- 创建maven工程
- 整合mybaties
- 逆向代码生成
创建maven工程
·1.通过idea创建maven工程如下图
2.生成的工程如下
以上我们就完成了一个maven工程,接下来我们改造成springboot项目。
这里主要分为三步:添加依赖,增加配置,增加注解
1.添加依赖
<!--添加springboot父依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
</parent>
<dependencies>
<!--web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--test测试依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.添加配置文件application.yml,增加端口号
3.修改启动类.增加@SpringBootApplication注解
和修改主类SpringApplication.run(Main.class,args);如下
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Main {
public static void main(String[] args) {
SpringApplication.run(Main.class,args);
}
}
通过以上三步,恭喜springboot项目搭建完成,运行看下效果
整合mybaties
springboot整合任何中间件都是三步:依赖,配置,注解
1.依赖:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
这里引入了三个依赖:第一个是springboot整合mybaties依赖,后面两个是逆向工程的相关依赖
2.配置增加如下配置到配置文件,根据需要修改用户名密码和数据库,并且注意mapper-locations: classpath:mappers/*.xml的mappers路径
spring:
datasource:
url: jdbc:mysql://localhost:3306/course?useSSL=false&serverTimezone=GMT
username: root
password: 565
#指定mybatis映射文件的地址
mybatis:
mapper-locations: classpath:mappers/*.xml
2.注解
@Mapper,这里先用这个注解,在所有Mapper下的文件都加上该注解如下
逆向代码生成
增加配置
<?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-connector-java 版本需要与pom中引得版本一致 -->
<classPathEntry location="E:\repository\mysql\mysql-connector-java\8.0.21\mysql-connector-java-8.0.21.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 不加注释,因为默认注释是英文的 -->
<commentGenerator>
<property name="addRemarkComments" value="true"/>
<property name="suppressDate" value="true"/>
</commentGenerator>
<!-- 数据库连接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/course?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC"
userId="root"
password="luyao520">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetPackage 文件生成在指定包下,targetProject 路径-->
<javaModelGenerator targetPackage="edu.hbgy.rjz.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="mappers" targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="edu.hbgy.rjz.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- domainObjectName 即生成后entity的名字 -->
<table tableName = "order" domainObjectName="Order" />
</context>
</generatorConfiguration>
<classPathEntry location="E:\repository\mysql\mysql-connector-java\8.0.21\mysql-connector-java-8.0.21.jar" />这个路径要写自己jar包的路径
2.引入插件
在pom.xml中加入
<build>
<finalName>${artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<!-- generator 工具配置文件的位置 -->
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<!-- 添加这部分的依赖 -->
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
如下所示:
加入之后maven插件如下所示
运行之后会生成代码,目录结构:
再次启动项目确认启动成功:
至此我们的整合工作结束
测试一下,创建一个controller包,并创建类UserController
package edu.hbgy.rjz.controller;
import edu.hbgy.rjz.dao.UserMapper;
import edu.hbgy.rjz.entity.User;
import edu.hbgy.rjz.entity.UserExample;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
public class UserController {
@Resource
private UserMapper userMapper;
@RequestMapping(value="user/del", method = RequestMethod.POST)
public Integer del(@RequestBody User user){
UserExample example = new UserExample();
example.createCriteria().andIdEqualTo(user.getId());
Integer count = userMapper.deleteByExample(example);
return count;
}
}
启动运行: