mybatis开发---基类设置

mybatis为了方便使用,可以在Dao层和Service,ServiceImpl层设置基类,将接口和方法放到基类中,方便使用。

Dao层基类

public interface BaseMapper<ID, T> {
// 将数据插入数据库,插入对象为实体类对象
int insert(T record);
// 根据主键进行删除数据库数据,一次删除一条,返回数值
int deleteByPrimaryKey(ID id);
// 根据主键进行插入操作
int insertSelective(ID id);
// 根据主键进行查找数据
T selectByPrimaryKey(ID id);
// 根据实体类对象进行更新操作,可更新部分数据或者全部数据
int updateByPrimaryKeySelective(T record);
// 根据对象进行更新数据库,必须全部数据要进行更新
int updateByPrimaryKey(T record);
// 根据对象进行查询数据库,返回List列表
List<T> query(T record);
// 根据对象进行查询数据库,统计查出的数据有多哦少
int selectCount(T record);
// 进行分页处理
List<T> select(Map map);
}

Service基类

public interface BaseService<ID, T> {
// 通过实体类进行插入数据库
int insert(T record);
// 根据主键进行删除数据
int deleteByPrimaryKey(ID id);
// 通过实体类进行插入数据库
int insertSelective(ID record);
// 根据主键进行查询数据库
T selectByPrimaryKey(ID id);
// 根据实体类对象进行部分更新数据库
int updateByPrimaryKeySelective(T record);
// 根据实体类对象进行全部更新数据库
int updateByPrimaryKey(T record);
// 查询数据库,保存在List
List<T> query(T record);
// 统计查询的数量
int selectCount(T record);
// 分页查询处理
List<T> select(T record, Page page);
}

ServiceImpl层基类

@Transactional
public abstract class AbstractBaseServiceImpl<ID, T> {
public abstract BaseMapper<ID, T> getDao();

// 插入设置,调用dao层函数
public int insert(T record) {
return getDao().insert(record);
}
// 通过主键进行插入
public int insertSelective(ID record) {
return getDao().insertSelective(record);
}
// 通过主键进行查询
public T selectByPrimaryKey(ID id) {
return getDao().selectByPrimaryKey(id);
}
// 通过实体类进行部分更新处理
public int updateByPrimaryKeySelective(T record) {
return getDao().updateByPrimaryKey(record);
}
// 通过实体类对象进行全部更新处理
public int updateByPrimaryKey(T record) {
return getDao().updateByPrimaryKey(record);
}
// 查询数据,存储List
public List<T> query(T record) {
return getDao().query(record);
}
// 统计数据
public int selectCount(T record) {
return getDao().selectCount(record);
}
// 根据主键进行删除
public int deleteByPrimaryKey(ID id) {
return getDao().deleteByPrimaryKey(id);
}

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页