1. 编写UserDao 接口
public interface UserDao{ ListfindAll() throws IOException; }
2. 编写UserDaoImpl 实现
public class UserdaoImpl implements UserDao { public ListfindAll() throws IOException { InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = sqlSessionFactory.openSession(); List userList = sqlSession.selectList("userMapper.findAll"); sqlSession.close(); return userList; } }
3. 测试
@Test public void testTraditionDao() throws IOException { UserDao userDao = new UserDaoImpl(); Listall = userDao.findAll(); System.out.println(all); }
二、代理开发方式
1. 代理开发方式介绍
采用MyBatis 的代理开发方式实现Dao 层的开发,这种方式是我们后面进入企业的主流。
Mapper 接口开发方法只需要程序员编写Mapper 接口(相当于Dao 接口),由MyBatis 框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao 接口实现类方法。
Mapper 接口开发需要遵循规范:
(1)Mapper.xml 文件中的namespace 与mapper 接口的全限定名相同
(2)Mapper 接口方法名和Mapper.xml 中定义的每个statement 的id 相同
(3)Mapper 接口方法的输入参数类型和mapper.xml 中定义的每个sql 的parameterType 的类型相同
(4)Mapper 接口方法的输出参数类型和mapper.xml 中定义的每个sql 的resultType 的类型相同
2. 编写UserMapper 接口
3. 测试
public static void main(String[] args) throws IOException { InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); Listall = mapper.findAll(); System.out.println(all); User user = mapper.findById(1); System.out.println(user); }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)