前面mybatis的入门程序基本上都写完了,就看大家的灵活运用了,今天来吧前面的整合一下封装一个公共的BaseDao
只需要把前面的改造下然后创建一个BaseDao的接口,其它的继承BaseDao接口就可以了就可以了,这个是最简单了,不废话了直接贴代码了
1.首先创建一个BaseDao
package cn.my.dao; import java.util.List; /** * 将公用方法提取出来 * @author Administrator * * @param <T> */ public interface BaseDao<T> { public List<T> findAll(); public T findById(int id); public void insert(T entity); public void update(T entity); public void delete(int id); }
2.将UserDaoMapper.java父类以后的方法注释
package cn.my.dao; import java.util.List; import cn.my.mybatis.entity.User; import cn.my.mybatis.entity.UserQueryVo; public interface UserDaoMapper extends BaseDao<User> { public List<User> findByNameAndSex(UserQueryVo userVo); public List<User> findByIds(UserQueryVo userVo); /** * 直接注释父接口中已有的方法 */ // public User findById(int id); // public void insert(User entity); // public void update(User entity); // public void delete(int id); }
3.同样将OrdersDaoMapper.ava父类以后的方法注释
package cn.my.dao; import java.util.List; import cn.my.mybatis.entity.Orders; public interface OrdersDaoMapper extends BaseDao<Orders> { // public List<Orders> findAll(); public List<Orders> findDetialAll(); }
4.下面我就只运行上节写的最后一个测试方法testfindDetialAll
@Test public void testfindDetialAll(){ SqlSession session = factory.openSession(); OrdersDaoMapper dao = session.getMapper(OrdersDaoMapper.class);//获取mybatis的动态代码实现接口对象 List<Orders> list = dao.findDetialAll(); session.close(); for (Orders orders : list) { System.out.println(orders); } }
5.运行结果:
Orders [id=3, user_id=1, number=1000010, createtime=Wed Feb 04 13:22:35 CST 2015, note=null, user=User [id=1, username=王五, sex=2, birthday=null, address=null], detailList=[Ordersdetail [id=1, items_id=1, items_num=1, orders_id=0], Ordersdetail [id=2, items_id=2, items_num=3, orders_id=0]]]
Orders [id=4, user_id=1, number=1000011, createtime=Tue Feb 03 13:22:41 CST 2015, note=null, user=User [id=1, username=王五, sex=2, birthday=null, address=null], detailList=[Ordersdetail [id=3, items_id=3, items_num=4, orders_id=0], Ordersdetail [id=4, items_id=2, items_num=3, orders_id=0]]]
好了写完了以上就是封装的一个最简单的BaseDao.java,有时间我会继续往下写的,如果需要加群一起研究的可以q我,939705214,也可以添加群号581591235
时间: 2024-10-05 15:51:23