开创性的陈氏数据库动态查询设计

本文介绍了陈氏查询,一种基于Hibernate的扩展,解决了在处理复杂且不定查询条件时的SQL构建问题。通过使用 NamedQuery 和特定标记,可以更简洁地构建和维护SQL语句,同时提供了与iBATIS的对比,强调了其灵活性和优雅性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(新版增加了直接结果映射VO的功能无需再写rowcallbackhandler了,集成ehcache、memcached提高处理效率)

犹豫了很久,还是决定将自己的东西(sagacity睿智开发框架)的一部分逐步奉献给大家,首先申明一下版权问题,请注明“陈氏查询”!

     进入正题:

     首先介绍一下sagacity(睿智)框架:其包括快速原型的页面框架(这里面也有一个非常独到人性化的界面的设计),sagacity-core核心代码库提供针对企业应用开发所需要的工具类和组件,sagacity-toolkit 工具库,包括快速原型项目生成,excel导入工具(用于项目试运行阶段数据初始化);sagacity-struts:基于struts2+spring+hibernate+sitemesh+spring security技术以实际企业开发项目为背景非常实用演示项目。sagacity项目从实际项目出发,贯穿整个项目周期提供优雅的实现以及从开发人员的角度着眼简化开发难度!这里不一一而谈。

     第一讲:陈氏查询

     先抛一个问题:大家平时做数据库查询时查询条件很多也不定时怎么写hql以及sql语句?

     比如:

     queryStr.append("select *  ");
     queryStr.append("from OA_CAR_REGIST t ");
     queryStr.append("where 1=1 ");

     if(CarRegiestVO.isActive!=null)
          queryStr.append(" and t.IS_ACTIVE is ? ");

     if(CarRegiestVO.beginDate!=null && CarRegiestVO.endDate!=null)
          queryStr.append("   and t.REGIST_DATE>=? and t.REGIST_DATE<= ? ");

     if(CarRegiestVO.carMode!&

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值