本文转载至http://blog.youkuaiyun.com/mahoking
本文内容主要介绍单条记录的增删改查操作,MyBatis提供了很多完成单条记录的增删改查操作的API。本例主要讲述<UserMapper> UserMapper org.apache.ibatis.session.SqlSession.getMapper(Class<UserMapper> clazz)的使用。使用此API,我们需要创建UserMapper操作接口,函数名和MyBatis的User.xml配置文件中的操作id名对应。
【转载使用,请注明出处:http://blog.youkuaiyun.com/mahoking】
- public interface UserMapper {
- /======基本增删改查操作======/
- /
- 删除操作
- @param userName
- /
- public void deleteUser(String userName);
- /
- 更新操作
- @param user
- /
- public void updateUser(User user);
- /
- 添加操作
- @param user
- /
- public void insertUser(User user);
- /
- 查询操作
- @param id
- @return
- */
- public User selectUser(int id);
- }
public interface UserMapper {
/*======基本增删改查操作======*/
/**
* 删除操作
* @param userName
*/
public void deleteUser(String userName);
/**
* 更新操作
* @param user
*/
public void updateUser(User user);
/**
* 添加操作
* @param user
*/
public void insertUser(User user);
/**
* 查询操作
* @param id
* @return
*/
public User selectUser(int id);
}
MyBatis具体增删改查的操作实现过程。
- /
- 增加操作
- /
- public static void insertUser() {
- SqlSessionFactory ssf = MyBatisUtil.getSqlSessionFactory();
- SqlSession session = ssf.openSession();
- try {
- UserMapper userMapper = session.getMapper(UserMapper.class);
- User newUser = new User(“MyBatisUser”, “123456”);
- userMapper.insertUser(newUser);
- // 这里一定要提交,不然数据进不去数据库中
- session.commit();
- System.out.println(newUser);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- MyBatisUtil.closeSession(session);
- }
- }
- /
- 删除操作
- /
- public static void deleteUser(String userName) {
- SqlSessionFactory ssf = MyBatisUtil.getSqlSessionFactory();
- SqlSession session = ssf.openSession();
- try {
- UserMapper userMapper = session.getMapper(UserMapper.class);
- userMapper.deleteUser(userName);
- //提交Session,更新数据库
- session.commit();
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- MyBatisUtil.closeSession(session);
- }
- }
- /
- 删除操作
- /
- public static void updateUser(User user) {
- SqlSessionFactory ssf = MyBatisUtil.getSqlSessionFactory();
- SqlSession session = ssf.openSession();
- try {
- UserMapper userMapper = session.getMapper(UserMapper.class);
- userMapper.updateUser(user);
- // 这里一定要提交,不然数据进不去数据库中
- session.commit();
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- MyBatisUtil.closeSession(session);
- }
- }
- /
- 查询操作
- /
- public static User selectUser(int id) {
- SqlSessionFactory ssf = MyBatisUtil.getSqlSessionFactory();
- SqlSession session = ssf.openSession();
- try {
- UserMapper userMapper = session.getMapper(UserMapper.class);
- User user = userMapper.selectUser(id);
- return user;
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- } finally {
- MyBatisUtil.closeSession(session);
- }
- }
/**
* 增加操作
*/
public static void insertUser() {
SqlSessionFactory ssf = MyBatisUtil.getSqlSessionFactory();
SqlSession session = ssf.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
User newUser = new User(“MyBatisUser”, “123456”);
userMapper.insertUser(newUser);
// 这里一定要提交,不然数据进不去数据库中
session.commit();
System.out.println(newUser);
} catch (Exception e) {
e.printStackTrace();
} finally {
MyBatisUtil.closeSession(session);
}
}
/**
* 删除操作
*/
public static void deleteUser(String userName) {
SqlSessionFactory ssf = MyBatisUtil.getSqlSessionFactory();
SqlSession session = ssf.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
userMapper.deleteUser(userName);
//提交Session,更新数据库
session.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
MyBatisUtil.closeSession(session);
}
}
/**
* 删除操作
*/
public static void updateUser(User user) {
SqlSessionFactory ssf = MyBatisUtil.getSqlSessionFactory();
SqlSession session = ssf.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
userMapper.updateUser(user);
// 这里一定要提交,不然数据进不去数据库中
session.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
MyBatisUtil.closeSession(session);
}
}
/**
* 查询操作
*/
public static User selectUser(int id) {
SqlSessionFactory ssf = MyBatisUtil.getSqlSessionFactory();
SqlSession session = ssf.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
User user = userMapper.selectUser(id);
return user;
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
MyBatisUtil.closeSession(session);
}
}</pre>
对于MyBatisUtil对象,读者可以参考上文。
【转载使用,请注明出处:http://blog.youkuaiyun.com/mahoking】