- mybatis
1.1 mybatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。
mybatis是一个基于Java的持久层框架(半自动),主要包括SQL Maps和Data Access Objects(DAO)
1.2 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
1.3 每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。
SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。 - mybatis与hibernate的区别
两者均为ORM框架,但也有一些不同
mybatis hibernate
轻量级 重量级
半自动化 全自动化
sql hql(但也可以使用sql,但违背了hibernate的初衷)
扩展性、迁移性比较差 无缝移植 - 如何在项目中添加mybatis支持
3.1 使用maven创建项目,并添加web支持
3.2 添加相关依赖
junit 4.12
javax.servlet-api 4.0.0
mybatis 3.4.5
mysql-connector-java 5.1.44
3.4 mybatis核心文件配置
mybatis.cfg.xml(使用free mybatis plugins插件创建)
jdbc.properties
3.5 mybatis日志配置(log4j2)
log for java
Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具:
SLF4J
Apache Commons Logging
Log4j 2
Log4j
JDK logging
本案例使用log4j2
1. 添加log4j2相关依赖
log4j2.pom.txt
2. 将log4j2.xml复制到resources目录下
3. 修改mybatis.cfg.xml文件的日志配置
<setting name="logImpl" value="LOG4J2"/>
4. web项目还需要修改web.xml文件添加日志开关
<!-- 禁止自动初始化log4j2 -->
<context-param>
<param-name>isLog4jAutoInitializationDisabled</param-name>
<param-value>false</param-value>
</context-param>
3.6 运行工具类MybatisSessionFactoryUtils进行测试