Mybatis是一个开源的数据持久层框架。它内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询丶存储过程丶高级映射。
ORM即对象/关系映射,是一种数据持久化技术。
数据持久化:将内存中的数据模型转换成存储模型,以及将存储模型转为内存中的数据模型。
而Mybatis就是ORM的解决方案,Mybatis是一种半自动化的ORM实现。
先看看Mybatis的简单搭建方案:
ps:用的myeclipse 2014
1.下载所需要的jar包:这个网上可以找到已经整理过的。
2.部署jar包:我习惯创建一个文件夹,,先把jar包文件放入,然后选中所有的jar包文件右击出现‘Build Path’,鼠标放上去会有‘Add to Build Path’就可以部署完jar包了。
3.然后习惯性创建一个文件名resources的源文件夹:用来放一些配置文件包括(日志,数据库连接,映射文件)。
其中映射文件里面会有几个常用的元素:他们的顺序不要乱,乱了的话容易出现xml报错。
configuration:配置文件的根元素节点。
preperties:通过resource属性从外部指定properties属性文件(database.properties),该属性指定数据库的连接相关配置。
settings:设置mybatis运行中的一些行为,比如mybatis的log日志实现为LOG4J,即使用log4j实现日志功能。
settings的一些元素属性:
CacheEnabled:对配置文件下的所有缓存进行全局性的开/关设置,默认true;
Lazyloadingenablied:全局性懒加载设置,默认true;
autoMappingBehavior:mybatis对resultMa自动映射的匹配级别:默认partial。
environments:配置mybatis的多套运行环境,该元素下可以配置多个environment子元素节点,但是必须指定其中一个为默认运行环境。
environment:配置mybatis运行环境。需要指定运行环境ID,事务管理,数据源配置等相关信息。
mappers:作用是告诉mybatis去哪里找SQL映射文件。
mapper:mappers的子元素,具体指定SQL映射文件的路径(resource)属性。
4.创建持久化类和SQL映射文件。
创建pojo包存放类,
dao包:里有类接口定义了相关的业务方法,以及对应的xml文件:用来实现这些方法,namespace指定对应的类接口。
util包:创建sqlsession对象(用于数据持久化操作,类似JDBC的Connection),单独抽成一个类,此对象作用是调用mapper文件进行数据库操作,sqlsessionFactory对象可以完成对配置文件的读取。
之后就可以测试了。
mybatis框架的优点:与JDBC相比减少了很多的代码量。小巧简单易学,提供了xml标签,支持动态编写SQL语句,提供了映射标签,支持对象与数据库的ORM字段映射。
缺点:数据库移植性较差,SQL语句编写量大了。
总结:
mybatis的优点同样是mybatis的缺点,正因为mybatis使用简单,数据的可靠性、完整性的瓶颈便更多依赖于程序员对sql的使用水平上了。sql写在xml文件里,虽然方便了修改、优化,但可读性很低,调试也非常受限。
mybatis最大的优点就是简单小巧易于上手,方便浏览修改sql语句。