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