1>这种查询只能查询3个及3个以下的实体类。
public PaginationSupport fingEntity(int type, int pageSize,
int startIndex) {
String jpql = " from AA a,BB b,CC c";
jpql += " where a.id=b.id and b.e_id= c.id";
PaginationSupport ps = this.selectPage(jpql, pageSize, startIndex);
return ps;
}
@Override
public List getList() {
// TODO Auto-generated method stub
String jpql = " select a.e_name,lp FROM AA a,PP lp WHERE a.id = lp.e_id ";
//System.out.println("jpql:"+jpql);
List list = this.select(jpql);
return list;
}
@Override
public PaginationSupport selectPage(String jpql, int pageSize,
int startIndex) {
int totalCount = selectCount(jpql);
if (totalCount < 1)
return new PaginationSupport(new ArrayList(0), 0);
Query query = entityManager.createQuery(jpql);
List items = query.setFirstResult(startIndex).setMaxResults(pageSize).getResultList();
PaginationSupport ps = new PaginationSupport(items, totalCount, pageSize, startIndex);
return ps;
}
2> 查询实体涉及4个及4个以上,可以采用以下方法:
@Override
public PaginationSupport findEnterpriseList(int is_submit,String real_name, int pageSize,int currentPage) {
String jpql ="SELECT enter.id,enter.e_name,u.real_name, u.telephone_number, u.mailbox ,";
jpql+= " FROM (SELECT * FROM EE) enter " ;
jpql+= " LEFT JOIN (SELECT * FROM UU ) u ON enter.id = u.e_id ";
jpql+= " LEFT JOIN (SELECT * FROM MM) manu ON enter.id = manu.e_id";
jpql+= " LEFT JOIN (SELECT * FROM NS ) ns ON enter.id = ns.id ";
jpql+= " WHERE enter.is_submit = ? " ;
if(!"".equals(real_name)){
jpql+=" AND u.real_name LIKE '%"+real_name+"%' ";
}
jpql+= "ORDER BY enter.id DESC ";
Object[] objects = {is_submit};
try{
Map<String,Class> clazz=new HashMap<String,Class>();
PaginationSupport ps = this.selectPageSql(jpql, clazz, pageSize, currentPage,objects);
return ps;
}catch(Exception e){
e.printStackTrace();
}
return null;
}
daoImpl:
@Override
public PaginationSupport selectPageSql(String jpql,
Map<String, Class> entity, int pageSize, int startIndex,
Object... objects) {
int count=0;
Session session = (Session)entityManager.getEntityManagerFactory().createEntityManager().getDelegate();
SQLQuery query=session.createSQLQuery(jpql);
for(String classname:entity.keySet()){
query.addEntity(classname, entity.get(classname));
}
for (int i = 0; i < objects.length; i++) {
query.setParameter(i, objects[i]);
}
count= query.list().size();
List items = query.setFirstResult(startIndex).setMaxResults(pageSize).list();
PaginationSupport ps = new PaginationSupport(items, count, pageSize, startIndex);
return ps;
}
推荐下开的淘宝小店筱夜宫主(
http://xiaoyegongzhu.taobao.com/)DR.HU 胡博士美妆~坐在电脑旁的汉子姑娘注意脸部护理呀,做了程序媛,也要美丽啊。。。小店有优惠码:YE4450,报优惠码,抵两元券,(⊙o⊙)…
分享到:
相关推荐
数据实体类中如何给属性赋值.因为从数据库中取出来的是一个DataSet如果一个一个给数据实体类中的属性赋值显的非常的笨拙,而且我们的数据表多达100...首先我们做个实体类Class1,那我们怎么找到他并赋值呢? QQ:292258449
例如,一个课程对应多个学生,而一个学生也可以对应多个课程。在这种情况下,我们可以使用PageHelper来实现多对多的嵌套查询。 首先,我们需要修改实体类,添加中间表实体类。然后,我们可以创建接口和映射文件来...
Hibernate中HQL语句的使用 ...HQL语句可以用于各种查询场景,包括简单属性查询、多个属性的查询、使用别名、实体对象查询、外置命名查询、查询过滤器、分页查询、对象导航查询、连接查询和统计查询等。
简单的EntityFramework4.3+三层+DTO,如果需要简化版的,我的资源里有一个不含DTO的版本。...4、实体类的增删改查,包括分页查询和多重条件查询 5、实体类与DTO的转换,Mapping配置 需要的DLL文件都在packages文件夹中
简单的EntityFramework4.3+三层,这个版本不含DTO,如果需要有DTO的,请到我的资源里找。 这个Demo的主要功能是: ...4、实体类的增删改查,包括分页查询和多重条件查询 需要的DLL文件都在packages文件夹中
使用拦截器拦截原始的sql,然后加上分页查询的关键字和属性,拼装成新的sql语句再交给mybatis去执行。 除了业务代码之外,需要写的东西不多,提几个关键的: 1、分页对象Page类。给该对象设置一个当前页数(前端给...
同一个类如果使用了不同的类加载器,就会产生这样的错误,所以解决方案就是让通用Mapper和实体类使用相同的类加载器即可。 DevTools 默认会对 IDE 中引入的所有项目使用 restart 类加载器,对于引入的 jar 包使用 ...
目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、...,并支持自定义分页查询(Skip/Take)...
如果你的网页有很多内容,就需要使用分页功能。 要创建一个基础的分页功能需要在 元素上加上 .pagination 类: 实例 1 2 3 4 5 当前页面 可以在 加上 .current 类来标注当前页面: 实例 ...
代码生成器:MybatisPlus 提供了一个代码生成器工具,可以根据数据库表结构自动生成实体类、Mapper 接口以及 Service 类,极大地减少了手动编写重复代码的工作量。 通用的条件构造器:MybatisPlus 提供了方便的条件...
,RDLC直接打印帮助类,ResourceManager,RMB,SqlHelper,SQL语句拦截器,URL的操作类,VerifyCode,XML操作类,上传下载,二维码操作类,共用工具类,其他,分词辅助类,分页 ,加密解密,压缩解压缩,各种验证帮助类,图片,图片操作...
Facet 字段通过在请求中加入”facet.field”参数加以声明,如果需要对多个字段进行 Facet 查询,那么将该参数声明多次。例如:/select?q=联想&facet=on&facet.field=cpu&facet.field=videoCard 返回结果为:...
BaseEntity.java:所有实体类的父类,提供了自定义查询条件、分页查询、排序的扩展 BaseException.java:自定义异常,在通用 Mapper 运行过程中抛出的异常 BaseMapper.java:所有 Mapper 的父类,提供了通用 ...
* collection:用于处理一个对象中包含多个对象的情况,可以使用级联属性或 collection 标签来封装结果集。 五、延迟加载 MyBatis 提供了延迟加载功能,只需配置一下就可以实现延迟加载。延迟加载可以减少数据库...
支持分页查询以及自定义分页查询 支持多数据源配置,支持运行时动态添加数据源 支持SQL缓存,以及自定义SQL缓存 支持SQL拦截,自定义分页方言,自定义列名转换 支持自定义JSON结果,自定义分页结果 支持对接口权限...
* 类似LINQ的支持ORM实体类查询的OQL表达式(有了LINQ为啥还要搞一个OQL?本框架 OQL的基本设计在LINQ或者说本人知道 LINQ之前,另外,.NET3.5框架才正式支持LINQ,而我们公司的一个产品却因为采用了3.5框架安装部署...
超级多的C#辅助类大全 网上有各式各样的帮助类,公共类,但是比较零碎,经常有人再群里或者各种社交账号上问有没有这个helper,那个helper,于是萌生了收集全部helper的念头,以便日后使用。各式各样的几乎都能找到,...
* 类似LINQ的支持ORM实体类查询的OQL表达式(有了LINQ为啥还要搞一个OQL?本框架 OQL的基本设计在LINQ或者说本人知道 LINQ之前,另外,.NET3.5框架才正式支持LINQ,而我们公司的一个产品却因为采用了3.5框架安装...
目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、...,并支持自定义分页查询(Skip/Take)...
下面,我们将从多个角度来探索 MyBatis,了解它的优点、缺点、使用场合、与其他框架的区别、配置文件的写法、参数传递、动态 SQL 等。 什么是 MyBatis? MyBatis 是一个 Java 持久层框架,允许开发者使用 SQL 语句...