Mybatis-Plus无XML开发详细
时间: 2024-01-11 19:52:25 浏览: 149
MybatisPlus是⼀个MyBatis的增强⼯具
Mybatis-Plus 是 Mybatis 的增强工具,可以帮助开发者更加便捷地进行数据库操作。其中最大的特点之一就是支持无 XML 配置,这样可以使开发过程更加高效和简洁。
下面是 Mybatis-Plus 无 XML 开发的详细步骤:
1. 引入 Mybatis-Plus 依赖
```xml
<!-- Mybatis-Plus 核心依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.x.x</version>
</dependency>
```
2. 配置数据源
在 application.properties 或 application.yml 文件中配置数据源信息,例如:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/mybatis-plus-demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
```
3. 创建实体类
创建和数据库表对应的实体类,可以使用 Lombok 简化代码,例如:
```java
@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` 注解指定主键生成策略。
4. 创建 Mapper 接口
创建继承自 `BaseMapper` 的 Mapper 接口,例如:
```java
public interface UserMapper extends BaseMapper<User> {
}
```
这里不需要写 SQL,Mybatis-Plus 会根据实体类自动生成 CRUD SQL。
5. 进行数据库操作
在 Service 层中使用 `UserMapper` 进行数据库操作,例如:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> list() {
return userMapper.selectList(null);
}
public User getById(Long id) {
return userMapper.selectById(id);
}
public boolean save(User user) {
return userMapper.insert(user) > 0;
}
public boolean update(User user) {
return userMapper.updateById(user) > 0;
}
public boolean remove(Long id) {
return userMapper.deleteById(id) > 0;
}
}
```
这里可以直接使用 `UserMapper` 提供的方法进行数据库操作,不需要写 SQL。
6. 测试
可以通过 JUnit 测试来测试代码是否正确,例如:
```java
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserServiceTest {
@Autowired
private UserService userService;
@Test
public void testList() {
List<User> userList = userService.list();
Assert.assertEquals(5, userList.size());
}
@Test
public void testGetById() {
User user = userService.getById(1L);
Assert.assertNotNull(user);
}
@Test
public void testSave() {
User user = new User();
user.setName("Tom");
user.setAge(18);
user.setEmail("tom@example.com");
boolean result = userService.save(user);
Assert.assertTrue(result);
}
@Test
public void testUpdate() {
User user = userService.getById(1L);
user.setName("Jerry");
boolean result = userService.update(user);
Assert.assertTrue(result);
}
@Test
public void testRemove() {
boolean result = userService.remove(1L);
Assert.assertTrue(result);
}
}
```
这里简单测试了一下常用的增删改查操作,可以根据需要进行扩展。
以上就是 Mybatis-Plus 无 XML 开发的详细步骤,相比传统的 XML 配置方式,更加简洁高效,减少了很多重复劳动。
阅读全文