以前只在学校接触过Hibernate的学习,并应用过一些小的项目中,进入了公司后,公司的项目用到了Hibernate和Mybatis,因为之前没有接触学习过Mybaits,因此急忙在网上中找到了一些学习视频,加以学习,废话不多说,在这里写点自己的心得体会。
一:什么是Mybatis
个人理解,Mybatis和Hibnernate一样,是基于ORM(Object Relation Mapping)的持久层框架。什么叫持久层框架?先说持久化,即我认为就是将实体层(Entity)的数据保存到数据库(DataBase)是永久化的,也就是说数据保存在数据库中是固化的,也可以理解为从数据库(永久存储介质)查询数据的过程。持久层框架即是DAO。结构大致如下:
二:初学Mybatis
这里要先导入Mybatis的架包和Mysql的驱动包,我就不在赘述。只说明几点重要的:
第一:要记得导入mybatis-3-config.dtd和mybatis-3-mapper.dtd的文件,并且记得将XML配置文件的 <’DOCTYPE configuration PUBLIC “-//mybatis.org//DTD Config #.#//EN” “http://mybatis.org/dtd/mybatis-#-config.dtd“>中#号所在的位置更改为你导入dtd文件的数字。例如我这里是3,那就要更改为对应的3,不然快捷键是无法使用的!并且编译器的提示信息也无法出现。
因为我在刚学习的时候,在Test类中输出实体类对象的sql语句时,就是因为没有导入这两个dtd文件,编译器提示我FileNotFound的异常,我还纳闷了,是不是自己的conf.xml文件和mapping文件写错了,发现其实根本没有!!!就是因为编译器找不到dtd的文件而已。
关于如何运用Mybatis,网上一搜一大把,我就不再说具体的操作了。只是核心的几点:1.conf.xml文件中要加载mapping.xml文件.2.在Main函数中测试时,第一步:加载配置文件(推荐类加载器加载方式)。第二步:获得SqlSessionFactory.第三步:打开session。第四步:执行操作,例如查询。注意要讲配置文件中的ID进行传入,例如”com.ly.mapping.user” 是配置实体类映射的xml文件,而ID则是select中的ID=”getUser”,则statement=”com.ly.mapping.user.getUser”,再将statement参数传入进去。