ibatis背后的故事

记得刚开始接触ibatis时,根据现有sqlMap配置文件,照猫画虎的写sql语句。期间犯过不少错误,例如resultMap标签后少写/, resultMap和resultClass误用等。当时也不明白为什么在配置文件中这样写了,db中的数据就set到java对象中去了。 今天在网上看到了非常好的两篇博客,了解了ibatis背后的故事


学习笔记总结如下:

1. ibatis主要完成的工作

1)解析配置文件sqlMapConfig.xml。该配置包括三个方面的内容:jdbc配置信息(driver,url,username,password);事务配置信息;sqlmap实体对象配置信息

2)根据jdbc规范建立与数据库的连接,

3)通过反射机制打通java对象与数据库参数交互之间的相互转化关系

 ibatis是对jdbc编程方式(事务管理,sql语句,返回结果)的分解和包装。ibatis把用户关心的和容易变化的数据放到配置文件中,方便用户管理,而流程性的,固定不变的由ibatis框架完成

2. ibatis框架中重要的类 

1)SqlMapClient 接口主要定义了客户端的操作行为包括 select、insert、update、delete
2)SqlMapSession 负责创建数据库的连接,包括对事务的管理等

3)其他类参考ibatis api

3. ibatis与jdbc对比

减少代码量,persistence编程变得简单,sql语句跟java代码分离,分离带来的好处指:当java代码或sql代码的改变不会相互影响

4. spring+ibatis

利用spring的强大的注入功能,又想利用ibatis对sql封装的轻巧功能,spring与ibatis,参考 http://tianya23.blog.51cto.com/1081650/275723

5. dataSource

不管采用何种持久化技术,都需要定义数据源。Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。

参考:

1. 深入分析ibatis框架指系统架构与映射原理  https://www.ibm.com/developerworks/cn/java/j-lo-ibatis-principle/

2. ibatis学习笔记 http://www.open-open.com/doc/view/691432816a6046e2bb00edf859e2da52

3. ibatis与spring集成  http://tianya23.blog.51cto.com/1081650/275723

4. 配置Spring数据源c3p0与dbcp:http://zhenbie.blog.51cto.com/449520/92211


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值