Mybatis学习笔记

在介绍某一项技术时,我们常常会有一个官方定义(虽然个人常常对某些官方定义看不太懂,但还是写在这里,用某些老师的话说,这可以给你形成一个所谓整体的“感性认识”~。~)

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

这是Git文档上对于Mybatis 的中文解释,原生(官方)的解释往往是精简和奥妙的,所以说实话,就我这几天的学习体会来说,这句话我还是没有很深的理解,所以我这里想说的是,这只是一篇自己初级阶段的学习心得,如果某些大牛看后觉得文笔幼稚,欢迎指正,但请不要鄙视,谁都有入门的傻逼阶段。

既然和SQL有关,那么mybatis想必是和数据库打交道的一个框架了,最近刚刚实习,公司现有的项目上采用的是Mybatis+Spring的框架,果然JavaEE是一门应用非常广的课程,可惜上学期老师英文说得6,自己听得2,琢磨很久都没有大的长进。查了很多网上的资料,要么Demo太简单,理解不深,要么就是一开始就是一大堆需要花几年来琢磨的各种概念,好在还有Mooc这个不错的平台,我选择了Mooc上的"通过自动回复学习Mybatis"来体会mabatis的好处,这里主要就是对其的一个学习总结。

对于工科学生来说,我始终认为"Learning by Doing"才是学习第一要义,很多概念初学时实在是没有办法体会其中奥义,比如"OOP","Design Pattern"等等,第一次听,往往感觉都是这些都是什么鬼~~~,但做过几个小Demo之后,会慢慢发现好像真的是这么回事,任何学习的过程往往都是这样吧,学习永远都不是一件轻松的事情。

好了,闲话少说,使用Mybatis当然第一步就是导包,进公司刚刚从Intellij 换成 Eclipse,有点不太习惯,不过程序员忠告中有一句就是"不要过分依赖你的IDE",如果你不能很好地迅速上手另一个IDE,说明你的境界还是不够的,所以大家慢慢来喽。

"工欲善其事必先利其器",Maven的存在可以免去我们许多 导包的烦恼。

<dependency>
				<groupId>org.mybatis</groupId>
				<artifactId>mybatis</artifactId>
				<version>3.3.0</version>
</dependency>
    
  <dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>5.1.26</version>
</dependency>

mybatis的包和mysql的包是先导入的,Maven的使用现在网上有很多资料了,我还是推荐慕课上的教程。

导包后,我们要配置一个核心配置文件Conf.xml(叫什么名字请随意),这里会配置到数据库的连接信息,所谓核心,我的理解就是其还可以连接到其他的配置文件,包括其他写Sql语句的配置文件,我们都可以通过核心配置文件的<mappers>来进行配置,配置这东西,我的理解就是告诉计算机我要用到这些东西了,然后我们可以在JAVA代码中做文章了。

“每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。”这又拷了一段文档,我非常推荐初学者和我一样去看看慕课上的教程,我这里是随意的,马虎的总结,肯定是肤浅的,而且都是在说那个教程上的东西。而且这个教程是真正按照企业中开发的分层来做的,老师是很专业的,也很好学。

好了,安利完了。我们db层获取数据库连接(这其中包括通过配置文件获取数据库信息,通过配置文件构建一个SqlSessionFactory以及通过SqlSessionFactory打开一个数据库会话三部)之后,在Dao层进行完我们的数据库操作了,我们将我们要进行的操作写在了我们的配置文件中(包括数据的增删改查,这些都是通过标签来实现,具体的标签可以自己Google),然后通过我们的核心配置文件“链接”这些配置,就可以在我们的Dao层执行我们的SQL语句了,相比较于JDBC来说,使用初级的Mybatis给我的感觉是层次感非常明显,JDBC总有一种很多功能的代码揉在一起的感觉(当然这些也是可以分层的,只是感觉没那么好)。配置完后,我们就可以在我们的Servlet中(因为只用到了Mybatis)接受我们的传值了,之后就可以在我们的页面中获得想要的效果。

推荐三个地址:

Mybatis的GitHub文档:http://mybatis.github.io/mybatis-3/zh/getting-started.html

Mybatis+Spring文档:http://mybatis.github.io/spring/zh/

上述视频教程:http://www.imooc.com/learn/154



转载于:https://my.oschina.net/u/2402609/blog/496921

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值