MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的
POJOs(Plan Old Java Objects,普通的 Java 对象)映射成数据库中的记录。
MyBatis的前身是IBatis,也是一个使用很广的持久化框架。和hibernate对比,MyBatis更基础,要求使用者自己控制的东西更多。mybatis完成了基本的一些ORM概念,但是没有Hibernate那么完善。要使用mybatis,程序
员的关注点更集中于SQL和数据库结构设计。mybatis没有hibernate使用起来那么面向对象,所以,在使用mybatis的时候,hibernate的一些思想和设计需要改变。
MyBatis的好处:更底层,对性能控制更有优势。
既然Mybatis也是一种ORM框架,所以,肯定也有两类配置文件。第一类,用来配置MyBatis环境,比如数据库连接等。第二类,用来配置对象到数据库表的映射。在MyBatis中,不光要配置对象到数据库表的映射,包括对应的
SQL,也需要自己来完成(相当于自己来完成hibernate生成对象CRUDsql的过程要自己来完成)。在学习mybatis的过程当中,要对比着hibernate来思考,可以更容易的理解。而且,mybatis在ibatis的基础上面,更多的吸收
了标准ORM的一些思想,所以,在API的设计上面和Hibernate还是有相似的地方,可以辅助学习。
首先任意创建一个对象User:
package cd.itcast.mybatis.domain;
public class User {
private Long id;
private String name;
private Date hireDate;
//getter & setter
}
下面就使用Mybatis完成对这个对象的CRUD的测试。
首先创建一个Mybatis的配置文件,我们在classpath下面创建一个xml文件,任意起名为mybatis-config.xml,并加入以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="default">
<environment , 1l);
session.commit();
} finally {
session.close();
}
}
使用session.delete方法指定调用的删除SQL和传入参数。运行结果:
DEBUG [main] - ooo Using Connection [com.mysql.jdbc.JDBC4Connection@158f9d3]
DEBUG [main] - ==> Preparing: DELETE FROM user WHERE id = ?
DEBUG [main] - ==> Parameters: 1(Long)
到这里,mybatis的CRUD基本演示完毕。从这些方法里面大概能够感受到mybatis的一些基本的使用方式。
相关文章: