1定义接口UserDao
package cn.itcast.dao;
import java.util.List;
import cn.itcast.po.User;
public interface UserDao {
//根据用户ID查询用户信息
public User findUserById(int id) throws Exception;
//根据用户名称模糊查询用户列表
public List<User> findUserByName(String name);
//添加用户
public void insertUser(User user);
}
2写UserDaoImpl实现类
package cn.itcast.dao;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import cn.itcast.po.User;
public class UserDaoImpl implements UserDao {
//依赖注入
private SqlSessionFactory sqlSessionFactory ;
public UserDaoImpl(SqlSessionFactory sqlSessionFactory) {
this.sqlSessionFactory = sqlSessionFactory ;
}
@Override
public User findUserById(int id) throws Exception {
//创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//调用SqlSession的增删改查
User user = sqlSession.selectOne("test.findUserById", id);
//关闭资源
sqlSession.close();
return user;
}
@Override
public List<User> findUserByName(String name) {
//创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//调用SqlSession的增删改查
List<User>list = sqlSession.selectList("test.findUserByName", name);
//关闭资源
sqlSession.close();
return list;
}
@Override
public void insertUser(User user) {
// TODO Auto-generated method stub
}
}
3测试代码
package cn.itcast.dao;
import static org.junit.Assert.*;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import cn.itcast.po.User;
public class UserDaoTest {
private SqlSessionFactory sqlSessionFactory;
@Before
public void setUp() throws Exception {
//读取配置文件
String resource ="SqlMapConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void testFindUserById() throws Exception {
//创建UserDao
UserDao userDao = new UserDaoImpl(sqlSessionFactory);
User user = userDao.findUserById(1);
System.out.println(user);
}
@Test
public void testFindUserByName() throws Exception {
//读取配置文件
String resource ="SqlMapConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
UserDao userDao = new UserDaoImpl(sqlSessionFactory);
List<User> list = userDao.findUserByName("%小明%");
System.out.println(list);
}
@Test
public void testInsertUser() {
fail("Not yet implemented");
}
}