数据访问层常用操作的JPA实现

数据访问层常用操作的JPA实现Posted on

  针对数据的增删改查,香港服务器,使用JPA做一些常用的封装。

  一个基础DAO接口和一个DAO接口的实现类。

  1、基础DAO接口BaseDao

package cn.luxh.app.dao.common;import java.util.List;import cn.luxh.app.util.Pagination;import cn.luxh.app.util.QueryCondition;/** * interface <code>BaseDao</code> DAO接口,封装常用的数据库操作 * * @author Luxh BaseDao {/*** 新增实体* @param entity 要新增的实体 save(Object entity);/*** 更新实体* @param entity 要更新的实体 update(Object entity);/*** 根据主键删除实体* @param <T>* @param clazz 实体类的Class* @param id主键*/public <T> void delete(Class<T> clazz,Object id);/*** 根据主键批量删除实体* @param <T>* @param clazz 实体类的Class* @param id主键数组*/public <T> void delete(Class<T> clazz,Object[] ids);/*** 根据主键查询* @param <T>* @param clazz 实体类的Class* @param id主键* <T> T getById(Class<T> clazz,Object id);/*** 查询所有记录* @param <T>* @param clazz 实体类的Class* <T> List<T> getAll(Class<T> clazz);/*** 根据条件集合查询记录* @param <T>* @param clazz* @param queryConditions 查询条件集合* @param orderBy排序,如 order by id desc* @param currentPage当前页* @param pageSize每页显示记录数* <T> List<T> get(Class<T> clazz,List<QueryCondition> queryConditions,String orderBy,int currentPage,int pageSize);/*** 根据条件集合查询记录* @param <T>* @param clazz* @param queryConditions 查询条件集合* <T> List<T> get(Class<T> clazz,List<QueryCondition> queryConditions);/*** 根据条件集合查询记录* @param <T>* @param clazz* @param queryConditions 查询条件集合* @param orderBy排序,如 order by id desc* <T> List<T> get(Class<T> clazz,List<QueryCondition> queryConditions,String orderBy);/*** 根据条件集合查询单条记录* @param clazz* @param queryConditions 查询条件集合* @return*/@SuppressWarnings(“rawtypes”)public Object getSingleResult(Class clazz,List<QueryCondition> queryConditions);/*** 根据条件查询记录数量* @param clazz* @param queryConditions 查询条件集合* @return*/@SuppressWarnings(“rawtypes”)public long getRecordCount(Class clazz,List<QueryCondition> queryConditions);/*** 根据jpql查询* @param <T>* @param jpql* @param objects* <T> List<T> getByJpql(String jpql,Object…objects);/*** 执行jpql语句* @param jpql* @param objects* executeJpql(String jpql,Object…objects);/*** 分页查询* @param <T>* @param clazz* @param queryConditions 查询条件集合* @param orderBy排序字段 如:order by id desc* @param currentPage当前页* @param pageSize每页显示记录数* <T> Pagination<T> getPagination(Class<T> clazz,List<QueryCondition> queryConditions,String orderBy,int currentPage,int pageSize);/*** 查找唯一结果* @param jpql* @param objects* Object getUniqueResultByJpql(String jpql,Object…objects);}

  

  2、DAO接口的实现类BaseDaoImpl

没有口水与汗水,就没有成功的泪水。

数据访问层常用操作的JPA实现

相关文章:

你感兴趣的文章:

标签云: