下面是详细讲解“SpringBoot+MybatisPlus+代码生成器整合示例”的完整攻略。
准备工作
首先需要创建一个SpringBoot项目。在pom.xml文件中添加MybatisPlus和代码生成器的依赖。
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.3.1</version>
</dependency>
接着,在application.yml文件中配置数据库连接信息。
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/your_db_name?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
username: your_username
password: your_password
创建数据表
首先需要创建一个数据表,以user表为例,创建SQL语句如下:
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(50) DEFAULT NULL COMMENT '用户名',
`password` varchar(50) DEFAULT NULL COMMENT '密码',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
生成代码
使用MybatisPlus的代码生成器生成实体类、Mapper接口和XML文件。
在项目根目录下创建一个generator目录,在其中创建generatorConfig.xml文件,并添加以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<configuration>
<context id="DB2Tables" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/your_db_name?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false" userId="your_username" password="your_password">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.example.demo.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<table tableName="user" domainObjectName="User"/>
</context>
</configuration>
其中,id属性为上下文的唯一标识符。targetRuntime属性指定要生成的Mybatis代码。jdbcConnection标签中指定了数据库连接信息。javaModelGenerator标签中指定了生成的实体类的包和目录。sqlMapGenerator标签中指定了生成的XML文件包和目录。javaClientGenerator标签指定要生成的Mapper接口的包和目录。table标签中指定了要生成Mybatis代码的表名和对应的实体类名。
在Maven的Lifecycle中执行mybatis-plus官方命令行工具,命令如下:
mvn mybatis-plus:generator
执行完这个操作后,即可在java和resources文件夹下生成对应的代码文件。
测试代码
完成代码生成后,可以开始测试代码。
示例一:查询所有用户信息
先在UserService中定义一个方法用于查询所有用户信息。
public interface UserService {
List<User> listUsers();
}
在UserServiceImpl中实现这个方法。
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> listUsers() {
return userMapper.selectList(null);
}
}
这里用到了MybatisPlus的通用Mapper接口,selectList方法中的参数可传入一个Wrapper来增加查询条件。
最后,在Controller中调用这个方法。
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public List<User> listUsers() {
return userService.listUsers();
}
}
示例二:添加用户信息
在UserService中增加一个添加用户信息的方法。
public interface UserService {
List<User> listUsers();
boolean addUser(User user);
}
在UserServiceImpl中实现这个方法。
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> listUsers() {
return userMapper.selectList(null);
}
@Override
public boolean addUser(User user) {
return userMapper.insert(user) > 0;
}
}
这里用到了MybatisPlus的通用Mapper接口,insert方法中的参数为实体类对象,返回值为受影响的行数。
最后,在Controller中调用这个方法。
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public List<User> listUsers() {
return userService.listUsers();
}
@PostMapping("/add")
public boolean addUser(@RequestBody User user) {
return userService.addUser(user);
}
}
总结
以上就是“SpringBoot+MybatisPlus+代码生成器整合示例”的完整攻略,其中包含了生成代码和测试代码两个步骤,并提供了两个简单的示例用于查询所有用户信息和添加用户信息。使用MybatisPlus的代码生成器可以快速生成Mybatis所需的实体类、Mapper接口和XML文件,大大简化了开发流程,提高了开发效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot+MybatisPlus+代码生成器整合示例 - Python技术站