下面是“springboot快速集成mybatis-plus的详细教程”:
1. 引入依赖
首先,在pom.xml
文件中加入以下依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.7.1</version>
</dependency>
这里使用的是mybatis-plus的mybatis-plus-boot-starter
依赖。如果你需要使用其他数据库,再添加对应的依赖,这里以MySQL为例:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
2. 配置数据源
接下来,需要在application.properties
或application.yaml
中配置数据源:
spring:
datasource:
url: jdbc:mysql://localhost:3306/db_test
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
这里使用的是MySQL数据库,所以我们需要指定driver-class-name
为com.mysql.cj.jdbc.Driver
。
3. 创建实体类和Mapper
我们需要创建实体类和Mapper接口,这里以创建用户表为例。首先是实体类:
@Data
@TableName("user") // 指定对应的数据表名
public class User {
@TableId(type = IdType.AUTO) // 指定主键的生成策略
private Long id;
private String name;
private Integer age;
private String email;
private Date createTime;
}
在实体类中,我们需要使用@TableName
注解来指定对应的数据表名,使用@TableId
注解指定主键的生成策略。
接下来是Mapper接口:
@Mapper
public interface UserMapper extends BaseMapper<User> {}
这里只需要继承mybatis-plus的BaseMapper
接口即可。
4. 配置Mapper扫描路径
还需要在application
中配置Mapper的扫描位置:
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
这里指定了mapper的xml文件存放在classpath*:mapper/
目录下,需要使用classpath*:
前缀,这样才能够扫描到jar包中的XML文件。
5. 测试代码
最后,我们需要在测试类中编写测试代码,加入以下内容:
@SpringBootTest
class MybatisPlusApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void testInsert() {
User user = new User();
user.setName("Tom");
user.setAge(20);
user.setEmail("tom@163.com");
user.setCreateTime(new Date());
userMapper.insert(user);
}
@Test
void testSelect() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "Tom");
List<User> userList = userMapper.selectList(queryWrapper);
userList.forEach(System.out::println);
}
}
在测试方法中,我们使用@Autowired
注解来注入UserMapper
,并且编写插入和查询测试用例。QueryWrapper
是mybatis-plus的条件构造器,可以用来构造查询条件。
示例
示例1:自定义主键生成策略
如果要自定义主键生成策略,可以使用@TableId
注解的type
属性指定:
@Data
@TableName("user")
public class User {
@TableId(type = IdType.ASSIGN_UUID) // 指定主键的生成策略
private String id;
private String name;
private Integer age;
private String email;
private Date createTime;
}
示例2:使用注解实现分页查询
可以使用@Pageable
注解和Page
类实现分页查询:
@Mapper
public interface UserMapper extends BaseMapper<User> {
@Select("select * from user")
List<User> selectPage(@Param("page") Page page);
}
@SpringBootTest
class MybatisPlusApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void testSelectPage() {
Page<User> page = new Page<>(1, 2); // 第一页,每页两条记录
List<User> userList = userMapper.selectPage(page);
System.out.println("总记录数:" + page.getTotal());
System.out.println("总页数:" + page.getPages());
userList.forEach(System.out::println);
}
}
以上便是使用springboot快速集成mybatis-plus的详细攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot快速集成mybatis-plus的详细教程 - Python技术站