mybatis中DAO实现(四)
来源:互联网 发布:危险品资格证考试软件 编辑:程序博客网 时间:2024/06/05 06:42
今天我们简单来看一下mybatis中DAO的实现,mybatis是如何开发dao的,我们一起简单学习一下。
1、创建dao包,首先我们在dao包下建立userdao.java接口,代码如下
public interface UserDao { //根据ID查询用户public User findUserById(int id) throws Exception;//模糊查询用户public List<User> findUserByName(String name) throws Exception;//添加用户public void insertUser(User user) throws Exception;//删除用户public void deleteUser(int id) throws Exception; }
2、在dao包下,建立userdao.java接口的实现类userdaoimpl.java,实现代码如下
public class UserDaoImpl implements UserDao{// 向DAO实现类中注入sqlsessionfactory // 通过构造方法注入private SqlSessionFactory sqlSessionFactory;public UserDaoImpl(SqlSessionFactory sqlSessionFactory) {this.sqlSessionFactory = sqlSessionFactory;}@Overridepublic User findUserById(int id) throws Exception {SqlSession sqlSession = sqlSessionFactory.openSession();User user = sqlSession.selectOne("test.findUserById", id);// 释放资源sqlSession.close();return user;}@Overridepublic List<User> findUserByName(String name) throws Exception {SqlSession sqlSession = sqlSessionFactory.openSession();List<User> list = sqlSession.selectList("test.findUserByName", name);// 释放资源sqlSession.close();return list;}@Overridepublic void insertUser(User user) throws Exception {SqlSession sqlSession = sqlSessionFactory.openSession();//执行插入操作sqlSession.insert("test.insertUser", user);// 提交事务sqlSession.commit();// 释放资源sqlSession.close();}@Overridepublic void deleteUser(int id) throws Exception {SqlSession sqlSession = sqlSessionFactory.openSession();//执行删除操作sqlSession.delete("test.deleteUser", id);// 提交事务sqlSession.commit();// 释放资源sqlSession.close();}}
3、单元测试,测试写的dao是否可用。在dao实现类上右击,new--others--junit--junit test cast,点击next,在source folder处选择将测试文件夹放在哪个目录下。完成后,会有一个新建的类userdaoimpltest.java,在该类下写测试代码public class UserDaoImplTest {private SqlSessionFactory sqlSessionFactory;// 此方法是在执行testFindUserById之前执行@Beforepublic void setUp() throws Exception {// 创建sqlSessionFactory// mybatis配置文件String resource = "SqlMapConfig.xml";// 得到配置文件流InputStream inputStream = Resources.getResourceAsStream(resource);// 创建会话工厂,传入mybatis的配置文件信息sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);}@Testpublic void testFindUserById() throws Exception {// 创建UserDao的对象UserDao userDao = new UserDaoImpl(sqlSessionFactory);// 调用UserDao的方法User user = userDao.findUserById(1);System.out.println(user);}}
4、运行测试方法。在usredaoimpltest.java下,选中测试的方法名,右击debug as--junit test,观察输出结果,完成测试。至此,整个dao的开发测试完成,在此基础上,下篇博客我们学习mapper代理是如何实现的。
阅读全文
0 0
- mybatis中DAO实现(四)
- Mybatis开发原始Dao(即有Dao的实现)
- Mybatis(dao)实现举例
- mybatis原始dao开发改进(dao接口和dao实现类)
- mybatis中Dao的三种实现方式
- Mybatis学习(九)mybatis原始dao接口与dao实现的开发。
- 【mybatis】--mapper代理实现dao
- mybatis实现DAO,MapperXML语法
- 3、MyBatis中DAO开发
- mybatis基于Dao层开发(四)
- C#通用DAO实现(四)
- DAO中方法实现
- Spring + Mybatis 单元测试 (DAO)
- (四)mybatis学习之原始Dao开发方式及与spring整合
- SpringMVC之Web-Mybatis自动生成实体类,dao,mapper使用(四)
- Mybatis通用DAO设计封装(mybatis)
- MyBatis(5)MyBatis DAO接口开发
- Mybatis通用DAO设计封装(mybatis)
- 解决chrome 请停用以开发者模式运行的扩展程序
- 有必要写一下博客整理一下知识
- 剑指Offer面试题8[旋转数组的最小数字]
- idea 中解决svn代码冲突
- Spark作业性能调优总结
- mybatis中DAO实现(四)
- PHP合并数组+与array_merge的区别分析
- Spring IOC原理之Java反射机制
- 剑指Offer面试题9[斐波那契数列]
- centos6.8下编译安装amp碰到的一些关于依赖包的问题
- js读取xml文件,解决浏览器兼容问题
- Encoding(字符串处理)
- hdu 3970(欧拉+逆元)
- 剑指Offer面试题10[二进制中1的个数]