学习了一段时间的mybatis之后,存在一些疑惑和不解。当然也有一些收获。现在得花一些时间进行一次总结
单独使用mybatis是有很多限制的(比如无法实现跨越多个session的事务),而且很多业务系统本来就是使用spring来管理的事务,因此mybatis最好与spring集成起来使用。所以接下来的任务是对学习的spring进行学习总结
两次总结之后的任务是利用好所学知识,完成一个实例(网上有好多免费的而且讲解很清楚的mybatis和spring的教程,我做学习的是传智播客的教程)
MyBatis 是持久层框架
咳咳作为一个大二学生,接触并不多所以啥也不知道哈哈哈(尬笑)
持久是相对于瞬时来说的,* 持久层,可以理解成数据 保存在 数据库或者 硬盘一类可以保存很长时间的设备里面,不像放在内存中那样断电就消失了,也就是把数据存在持久化设备上*。。总体来说就是长久的将数据储存下来,放在磁盘上啊等等。
为什么使用持久层框架???
企业应用中* 数据很重要(各种订单数据、客户数据、库存数据之类的),比应用程序本身更重要, 所以需要把数据持久化。持久化可以通过很多方式,写文件和数据库都可以。只是现在企业一般都会选择把数据持久化到数据库中,因为可以很方便的查询统计分析,但数据库的数据最终还是会写到磁盘上的。Java 程序员为了操作数据库, 最开始是使用JDBC* 来进行的,但是这种方式* 开发效率低 ,要写一堆重复代码,加上关系数据库和对象本身存在所谓的阻抗不匹配情况,所以 为了提高开发效率,有人发明了 ORM 即 对象关系映射框架* (Hibernate是其中的佼佼者),对于 Java 程序员来说,就可以通过操纵对象来操纵数据库了。Hibernate和mybati s都是持久层框架。
原生态jdbc程序的问题:全部手动写sql,语句什么的有大量重复,且存在一定的硬编码。delete、insert、update要将对象的值一个一个取出传到sql中,不能直接传入一个对象。(暑期综合实训就用的这个方法,确实很麻烦,不过也很简单。原理弄清楚了之后,环境配置好不出错了之后,不到两天就完成了所有的剩余的工作。)
mybatis的特点:半自动化,sql要手动写,delete、insert、update:直接传入一个对象,不用一个一个输。输入输出都可以是对象,就完事儿了!!sql写在xml里,便于统一管理和优化.sql和代码的分离,提高了可维护性。提供xml标签,支持编写动态sql。
mybatis总体流程:
1加载配置,将配置文件加载成对象
2 sql解析得到sql语句和参数
3 sql执行得到操作数据库的结果
4 结果映射,将操作数据库的结果按照映射夫人配置进行转换,可以转换成基本数据类型返回结果。