写一个springboot里DO的例子,基于mybatis
时间: 2023-11-04 09:27:50 浏览: 55
好的,以下是一个基于MyBatis的Spring Boot中的DO(Data Object)的例子:
```
public class User {
private Long id;
private String name;
private String email;
// 省略 getter 和 setter 方法
}
```
这个DO表示一个用户对象,没有使用任何的注解,而是使用Java类中的属性映射到数据库表中的字段。具体来说:
1. `id` 属性表示该用户在数据库中的主键;
2. `name` 属性表示该用户的姓名;
3. `email` 属性表示该用户的邮箱。
这个DO可以和MyBatis框架一起使用,来实现基本的增删改查操作。例如:
```
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User getUserById(@Param("id") Long id);
@Select("SELECT * FROM users WHERE email = #{email}")
List<User> getUsersByEmail(@Param("email") String email);
@Insert("INSERT INTO users(name, email) VALUES(#{name}, #{email})")
@Options(useGeneratedKeys = true, keyColumn = "id", keyProperty = "id")
int saveUser(User user);
@Delete("DELETE FROM users WHERE id = #{id}")
int deleteUser(@Param("id") Long id);
}
```
这个`UserMapper`接口使用MyBatis的注解来实现基本的增删改查操作。例如:
1. `@Select` 注解表示执行查询语句;
2. `@Insert` 注解表示执行插入语句;
3. `@Delete` 注解表示执行删除语句;
4. `@Param` 注解表示方法参数名和SQL语句中的参数名一致;
5. `@Options` 注解表示使用自增长主键,将自动生成的主键值映射到Java对象中。
这个`UserMapper`可以通过Spring Boot的依赖注入机制来使用。例如:
```
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(Long id) {
return userMapper.getUserById(id);
}
public List<User> getUsersByEmail(String email) {
return userMapper.getUsersByEmail(email);
}
public User saveUser(User user) {
userMapper.saveUser(user);
return user;
}
public void deleteUser(Long id) {
userMapper.deleteUser(id);
}
}
```
这个`UserService`类使用`@Autowired`注解来注入`UserMapper`,并提供了基本的增删改查方法。可以通过Spring Boot的依赖注入机制和RESTful API来实现对用户信息的操作。
阅读全文