基于Mybatis和JDBC分页查询研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Mybatis和JDBC分页查询研究

基于Mybatis和JDBC分页查询研究   摘要:基于J2EE的数据持久化框架已经成为WEB开发的主流技术,而分页查询在与数据库交互中是必不可少的一项。数据查询分页的方式有很多,从传统的JDBC分页查询到现代ORM框架的分页查询,但这些分页查询方法中或多或少会出现一些问题,例如JDBC实现物理分页会导致复杂化编程、高耦合、性能差、代码复用度低、复杂度高等。应用Mybatis来进行分页实现了松散耦合,能极大地提高开发效率,使系统更具维护性和可扩展性。   关键词:Mybatis;持久化;ORM;分页   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)25-0165-03   在实际的开发中,开户者通常会对数据信息进行过滤选择,进而分页展示到自身或用户的视野中。如果采用通用的JDBC物理分页的方式,也能实现分页的效果,但实现过程中会相对繁琐,分页性能比较低,可移植性较差。如果采用新型ORM框架Mybatis和JDBC改良的分页方式处理,效果能更加清晰明了的实现,数据也能更具稳定性。此种方式具有较好的可用性、灵活性、交互性,也具备更强的移植性。   1 Mybatis和JDBC介绍   JDBC(Java Data Base Connectivity)全称是java数据库连接,是一种用来执行SQL数据库语句的Java API,可以向多种关系数据库数据提供统一访问,它是由一组由Java语言编写的类和接口组成的。JDBC提供了一种标准,提供构建更高级的工具和接口,使开发人员能更好地编写数据库应用程序[1]。   Mybatis原来是阿帕奇公司(即Apache公司)的一个面向广大用户和企业而研究的开源项目“ibatis”[2]。随着开发团队加入Google Code旗下,ibatis3.X正式更名为Mybatis。其本意是Internet和abatis两个单词的组合,是提供给用户一个持久层框架。Mybatis框架集合了多种操作型的关系数据概念与方法。它是一个强大有效的数据访问工具,主要包含DAO组件和SQL Map组件两大类,其构架图,如图1所示[3]:      图1 Mybatis构架图   Mybatis的ORM自动生成方式代替了几乎所有的JDBC代码和属性进行配置,直接生成接口类和JAVA Bean对象的数据库表或将数据库表直接反向生成接口类和JAVA Model类。Mybatis主要由三层主要功能组成:   1) API接口层:自动生成JDBC封装代码给生成类以外的类提供接口,程序员可以通过本地API对数据库直接进行操作和处理。   2) 数据处理层:拥有具体的JDBC代码,是接口的具体实例化代码,包括具体的SQL查找、文件解析、程序执行与执行结果处理等功能。它的主要目的是根据调用的API请求转化成具体代码,而后由代码完成一次数据库数据处理操作。   3) 基础支撑层:负责于框架最基础的管理功能,包括数据库连接、数据库事务管理、数据库加载配置和数据库缓存处理等,将他们组合成一个最基本的组件,为上层提供服务。   2 Mybatis和JDBC分页方法实现   要实现分页方法,需要完成以下工作。   1)在Mybatis的实体类T的TMapper.xml文件中添加两个方法映射(这里将两个映射的id命名为queryByCountCondition和queryByCondition),一个是返回查询记录的数量的方法映射,另一个是进行条件查询分页的方法映射,然后在Dao层添加queryByCountCondition和queryByCondition方法,并在Dao的实现层对着两个方法进行实现。Mybatis根据TMapper.xml中namespace的类名映射Dao层中的类,Service层通过Dao层的实现类反向调用Dao层接口,通过TMapper.xml文件映射SQl操作,进而完成整个操作。主要实现代码如:TMapper.xml文件代码:      …   select id=queryCountByCondition resultType=Integer   parameterType=com.model.TModel   …   select id=queryByCondition resultMap=TMap   parameterType=com.model.TModel   …      TDaoImp.java文件代码:   public class TDaoImp implements TDao {   private static final String NAMESPACE = com.dao.TDao;   …  

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档