mybatis入门
1) 什么是Mybatis
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除
了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索。MyBatis可以使用简单的
XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的
Java对象)映射成数据库中的记录。(官方文档)
PS: Mybatis是面向接口编程的,MyBatis的前身是 iBatis。
1) Mybatis作为一个实现了JPA(Java Persistence API)规范的一门O/R Mapping框架(对象/关系映射)。
2) Mybatis对SQL和存储过程的直接支持,能够获得SQL调优。
2) Mybatis组成
3) 构建SqlSessionFactory
String resource = "org/mybatis/config/mybatis.cfg.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
PS: 还有一个使用Mybatis的API来构建SqlSessionFactory(不推荐).
其中mybatis.cfg.xml文件内容:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC"-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias alias="User" type="com.mybatis.entity.User"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root" />
<property name="password" value="admin" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/mybatis/mapper/User.xml"/>
</mappers>
</configuration>
PS: Mybatis配置文件: sqlMapConfig.xml (参见mybatis-3-config.dtd及官方文档说明)
4) Sql映射文件
一般地,将对一个持久对象(对应数据库中的表)的操作的sql语句定义到一个xml文件中。如:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mybatis.mapper.UserMapper">
<select id="selectUser" parameterType="int" resultType="User">
select * from user where id = #{id}
</select>
</mapper>
5) 获取SqlSession
SqlSession session = sqlSessionFactory.openSession();
6) 执行sql
try {
User user = (User) session.selectOne("com.mybatis.mapper.UserMapper.selectUser", "3");
} finally {
session.close();
}
小结:
步骤:
1) 下载mybatis-3.1.1.jar包,加入到classpath中
2) 创建与数据库表对应的实体类,以User表为例
3) 创建mybatis.cfg.xml配置文件,配置数据源(数据库为mysql,将数据库驱动包加入到classpath中)
4) 创建sqlMap配置文件User.xml,添加查询sql语句
5) 在main方法中测试查询或使用JUnit4的@Test注解

浙公网安备 33010602011771号