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);
}
}