如何使用jdbc template查询数据,而用ibatis组装结果?

使用jdbc template链接数据库,必须提供连接数据库所需的地址、用户名、密码。这些信息可以从已有的ibatis sqlclient对象中获取。

 

 

 

然后从ibatis配置中获取需要执行的sql语句。但是ibatis每次执行sql都需要有一个RequestScope和SessionScope对象,所以我们手动生成这两个对象,传给ibatis。

 

在执行PreparedStatement 之前,必须先给PreparedStatement 绑定变量

 

 

ok,PreparedStatement对象已经准备完毕,可以执行了。

 

 

数据库返回了resultset,但是我们还需要让ibatis帮我们把结果组装成dto对象。

 

ok,大功告成,返回结果就是我们所需要的对像啦。

 

采用以上jdbc template 与ibatis结合的好处是,可以自己控制查询的过程。

当查询的数据结果比较大时,采用传统的ibatis查询,一般有两种方式:分页和不分页。如果分页,就需要排序,大数量的排序是比较耗时的,这样数据库总是在做重复的工作,增加了数据库的压力。如果不分页,jvm需要缓存大量的对象,占用大量的内存,并且可能导致内存溢出。

而查询工作由我们自己来做的话,我们就可以只做一次查询,并且不需要排序,可以将这个resultset对象缓存起来,每次从resultset中取一批数据,取完之后将这个对象释放掉。这种方法的缺点是,查询结果会在数据库中存在比较长的时间,一段时间内,占用内存无法释放。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值