# mybatis-dao **Repository Path**: alexguo88/mybatis-dao ## Basic Information - **Project Name**: mybatis-dao - **Description**: mybatis-spring 的通用dao,极方便的单表增删改查操作,免去了对相同方法配置过多的xml文件的烦恼,dao层继承该通用接口,仍支持mybatis框架原有特性,极大提高开发效率 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 25 - **Created**: 2015-07-21 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 通用Mybatis-DAO ======= 通用DAO简介及特征 通用Dao是一种持久化解决方案。 具有以下特征: * 1.把单表具有重复性的操作抽离出来,避免创建不必要的xml文件 * 2.不影响原mybatis框架的使用 * 3.SQL语句和java代码的分离 * 4.极大的缩减使用mybatis 和 spring 集成框架下的工作量 * 5.可支持uuid和mysql自增的主键生成策略 使用说明:作用于mybatisDAO层,依附mybatis-spring 待改进: * 1.目前只支持mysql * 2.其他 ※实体的增删改查不需要写sql,支持SQL自动生成 ### 接口定义[MessageDao.java] public interface MessageDao extends IBaseDao{} ### 接口实现定义[MessageDaoImpl.java] @Repository public class MessageDaoImpl extends BaseDao implements MessageDao {} ### BaseDAO实现的接口 public PK create(T object); public int update(T object); public int remove(T object); public int count(T object); public void createOfBatch(List list); public int updateOfBatch(List list); public int removeOfBacth(List list); public List queryByObject(T object); public List queryByList(List list); public List queryListByCriteria(T object,String orderby,Integer offset,Integer limit); public List queryListByBatchCriteria(List list,String orderby,Integer offset,Integer limit); public T findById(PK id); public boolean removeById(PK id); ### 通用DAO接口配置 ### 测试代码 public void testCreate() { UserDTO user = new UserDTO(); user.setUserName("huttol"); userDAO.create(user); } public void testRemoveOfBacth() { UserDTO user2 = new UserDTO(); user2.setUserName("list2"); int remove =userDAO.removeOfBacth(ConventionUtils.toList(user2)); Assert.assertEquals(1, remove); } public void testRemoveById() { boolean t = userDAO.removeById("200cb94c99e64b21aed5e10b94f09eeb"); Assert.assertEquals(true, t); }