Mybatis 控制层常用方法例子
时间: 2024-01-17 18:04:45 浏览: 26
以下是 Mybatis 控制层常用方法的示例:
1. 查询单个对象
```java
public User getUserById(int id) {
try(SqlSession sqlSession = MyBatisUtil.getSqlSessionFactory().openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
return userMapper.getUserById(id);
}
}
```
2. 查询多个对象
```java
public List<User> getAllUsers() {
try(SqlSession sqlSession = MyBatisUtil.getSqlSessionFactory().openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
return userMapper.getAllUsers();
}
}
```
3. 插入单个对象
```java
public void addUser(User user) {
try(SqlSession sqlSession = MyBatisUtil.getSqlSessionFactory().openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.addUser(user);
sqlSession.commit();
}
}
```
4. 更新单个对象
```java
public void updateUser(User user) {
try(SqlSession sqlSession = MyBatisUtil.getSqlSessionFactory().openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.updateUser(user);
sqlSession.commit();
}
}
```
5. 删除单个对象
```java
public void deleteUser(int id) {
try(SqlSession sqlSession = MyBatisUtil.getSqlSessionFactory().openSession()) {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.deleteUser(id);
sqlSession.commit();
}
}
```
其中,`UserMapper` 是 Mybatis 的 Mapper 接口,具体实现可以参考 Mybatis 的官方文档。`MyBatisUtil` 是一个用于获取 SqlSessionFactory 的工具类,具体实现可以参考以下代码:
```java
public class MyBatisUtil {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
}
}
public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}
}
```
其中,`mybatis-config.xml` 是 Mybatis 的配置文件,具体内容可以参考 Mybatis 的官方文档。