Mybatis中编写dao层实现类

it2022-05-05  232

User的实现类

public class IUserDaoImpl implements IUserDao { private SqlSessionFactory factory; public IUserDaoImpl() { } public IUserDaoImpl(SqlSessionFactory factory) { this.factory = factory; } @Override public List<User> findAll() { SqlSession session = factory.openSession(); List<User> users = session.selectList("com.sx.dao.IUserDao.findAll"); session.close(); return users; } @Override public void saveUser(User user) { SqlSession session = factory.openSession(); session.insert("com.sx.dao.IUserDao.saveUser", user); session.commit(); session.close(); } @Override public void updateUser(User user) { SqlSession session = factory.openSession(); session.update("com.sx.dao.IUserDao.updateUser", user); session.commit(); session.close(); } @Override public void deleteUser(Integer userId) { SqlSession session = factory.openSession(); session.delete("com.sx.dao.IUserDao.deleteUser", userId); session.commit(); session.close(); } @Override public User findById(Integer userId) { SqlSession session = factory.openSession(); User user = session.selectOne("com.sx.dao.IUserDao.findById", userId); session.close(); return user; } @Override public List<User> findByName(String username) { SqlSession session = factory.openSession(); List<User> users = session.selectList("com.sx.dao.IUserDao.findByName", username); session.close(); return users; } @Override public int countUsers() { SqlSession session = factory.openSession(); int count = session.selectOne("com.sx.dao.IUserDao.countUsers"); session.close(); return count; } }

测试类

public class MybatisTest { private InputStream is; private IUserDao iud; @Before public void init() throws IOException { is = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder(); SqlSessionFactory ssf = ssfb.build(is); iud = new IUserDaoImpl(ssf); } @After public void destroy() throws Exception { is.close(); } /** * 查询所有 * * @throws Exception */ @Test public void testFindAllUser() throws Exception { List<User> users = iud.findAll(); for (User user : users) { System.out.println(user); } } /** * 测试保存用户 */ @Test public void testSave() throws Exception { User user = new User(); user.setUsername("赵六"); user.setBirthday(new Date()); user.setSex("男"); user.setAddress("福建福州"); iud.saveUser(user); } /** * 测试更新用户信息 * * @throws Exception */ @Test public void testUpdate() throws Exception { User user = new User(); user.setId(42); user.setUsername("李四"); user.setBirthday(new Date()); user.setSex("男"); user.setAddress("福建福州"); iud.updateUser(user); } /** * 根据id删除用户信息 * * @throws Exception */ @Test public void testDelete() throws Exception { iud.deleteUser(42); } /** * 根据id查找用户信息 * * @throws Exception */ @Test public void testFindById() throws Exception { User user = iud.findById(49); System.out.println(user); } /** * 根据姓名模糊查找用户信息 * * @throws Exception */ @Test public void testFindByName() throws Exception { //List<User> users = iud.findByName("张%"); List<User> users = iud.findByName("张"); for (User user : users) { System.out.println(user); } } /** * 聚合函数的使用 * * @throws Exception */ @Test public void testCountUsers() throws Exception { int count = iud.countUsers(); System.out.println(count); } }

最新回复(0)