查询方法:由于带有条件查询参数太多没有封装hibernate参数paramlist
public List<MMSTable> listAll(Map<Object, String> map, int pn, int pageSize) throws Exception { // 定义StringBuffer对象,拼装sql语句 StringBuffer sb = new StringBuffer(); sb.append("select m.* from MMSTable as m "); if (!Global.isEmpty(map.get("mmsReceNo"))) { sb.append(" inner join ReceiptNoInfo as r on m.msgId = r.msgId"); } sb.append(" where 1=1 "); if (!Global.isEmpty(map.get("mmsSubject"))) { sb.append("and m.mmsSubject = '" + map.get("mmsSubject") + "'"); } if (!Global.isEmpty(map.get("startMmsDate"))) { sb.append("and m.mmsDate >= '" + map.get("startMmsDate") + "'"); } if (!Global.isEmpty(map.get("endMmsDate"))) { sb.append("and m.mmsDate <= '" + map.get("endMmsDate") + "'"); } if (!Global.isEmpty(map.get("mmsOrigNo"))) { sb.append("and m.mmsOrigNo = '" + map.get("mmsOrigNo") + "'"); } if (!Global.isEmpty(map.get("mmsReceNo"))) { sb.append(" and r.mmsReceNo like '" + map.get("mmsReceNo") + '%' + "'"); } if (!Global.isEmpty(map.get("mmsStatus"))) { sb.append("and m.mmsStatus = '" + map.get("mmsStatus") + "'"); } sb.append("order by m.mmsDate DESC"); // 获取本地sql语句对象 SQLQuery query = getSession().createSQLQuery(sb.toString()); // 设置将SQL表的别名和实体类联系起来 query.addEntity(MMSTable.class); // 分页代码 if (pn > -1 && pageSize > -1) { query.setMaxResults(pageSize); int start = pn; if (start != 0) { query.setFirstResult(start); } } // 执行查询方法,返回结果 List<MMSTable> mmsList = query.list(); // 返回执行结果 return mmsList; } /** * {@inheritDoc} */ @Override public int countAll(Map<Object, String> map) throws Exception { // 定义StringBuffer对象,拼装sql语句 StringBuffer sb = new StringBuffer(); sb.append("select count(*) from MMSTable as m "); // 如果接受电话号码存在则做内连接 if (!Global.isEmpty(map.get("mmsReceNo"))) { sb.append(" inner join ReceiptNoInfo as r on m.msgId = r.msgId"); } sb.append(" where 1=1 "); if (!Global.isEmpty(map.get("mmsSubject"))) { sb.append("and m.mmsSubject = '" + map.get("mmsSubject") + "'"); } if (!Global.isEmpty(map.get("startMmsDate"))) { sb.append("and m.mmsDate >= '" + map.get("startMmsDate") + "'"); } if (!Global.isEmpty(map.get("endMmsDate"))) { sb.append("and m.mmsDate <= '" + map.get("endMmsDate") + "'"); } if (!Global.isEmpty(map.get("mmsOrigNo"))) { sb.append("and m.mmsOrigNo = '" + map.get("mmsOrigNo") + "'"); } if (!Global.isEmpty(map.get("mmsReceNo"))) { sb.append(" and r.mmsReceNo like '" + map.get("mmsReceNo") + '%' + "'"); } if (!Global.isEmpty(map.get("mmsStatus"))) { sb.append("and m.mmsStatus = '" + map.get("mmsStatus") + "'"); } // 获取本地sql语句对象 SQLQuery query = getSession().createSQLQuery(sb.toString()); // 执行查询方法,返回结果 Integer count = Integer.valueOf(query.uniqueResult().toString()); return count; }
删除方法:
public void deleteMMSTable(String msgId) throws Exception { // 封装参数 Object[] paramlist = new Object[] {msgId}; // 拼装sql语句 String sql = "delete from MMSTable where msgId = ?"; // 执行sql语句 SQLQuery query = getSession().createSQLQuery(sql); setParameters(query, paramlist); query.executeUpdate(); }
相关推荐
hibernate执行原生sql语句
hibernate将本地SQL查询结果封装成对象。如进行复杂的统计等本地sql语句查询后,直接放到对象里了,而不会再使用Object进行强转
hibernate中使用sql 而不是hql语句
使用本地sql语句查询后,无需再使用Object对查询结果进行强制转换,而是直接将查询结果放到实体Bean里了。 PS: 其实只有一版,这里只所以叫最终版是因为该附件我上传了好几天传不上去,到最后报告说‘资源已经存在...
模仿Hibernate生产SQL语句,使用Java反射
Hibernate在Myeclipse下SQL语句演示,包含有HQL and Criteria语句的编写测试。
让hibernate输出sql语句参数配置.doc
虽然在hibernate中有show_sql选项,但是显示出来的语句大多类似 select * from xxx where value=? 但是有时候我们需要得到完整的SQL语句,怎么办呢?使用P6SPY就可以完成这个任务
NULL 博文链接:https://javatozhang.iteye.com/blog/2045875
该方式是原生SQL查询的一种方式,需要个人自己书写SQL语句进行操作,用法比较灵活多变,适合比较复杂的SQL查询.该压缩包是本人对该查询方式的一种总结练习
上传的资料都是非常经典的,这也是我学习过程中的心得,希望大家能给我指点,也希望大家多上传资料共同学习。千万不要传空文件夹。。。
spring_Framework+经典SQL语句大全+Hibernate中文API
主要介绍了在Java的Hibernate框架中使用SQL语句的方法,Hibernate是Java的SSH三大web开发框架之一,需要的朋友可以参考下
hibernate 对于数据库的映射语句 sqlserver以及mysql映射语句都有 调试过能用 尽情下载吧
NULL 博文链接:https://28680360-qq-com.iteye.com/blog/1673095
基于sql语句的分页,效率更高,此jar包包含常用分页格式 使用方法在jboss5的博客中
Hibernate 显示完整sql的配置工具,配置好后在Console会输出不带?的sql语句,方便调试。