. Mybatis
1 什么是 Mybatis
Mybatis 是对 JDBC 的封装,它隐藏了具体的 JDBC 的 API ,它把 SQL 语句放到了配置文件中,它能自动把不同的输入数据映射到 SQL 语句的动态参数上,它能自动把 SQL 语句的执行结果映射为 JAVA 对象…… MyBatis 是一个持久化层的框架!
Mybatis 是一个 ORM 框架
可以说 Mybatis 是一个半自动的 ORM 框架 ,Hibernate 是全自动的
2 主配置文件
基本作用就是配置 JDBC 连接的有关信息,比如 URL 、用户名、密码等等
如:
<? 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 > <!-- 别名 --> < typeAliases > < typeAlias type = "org.leadfar.mybatis.Person" alias = "Person" /> </ 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/mybatis" /> < property name = "username" value = "root" /> < property name = "password" value = "leadfar" /> </ dataSource > </ environment > </ environments > <!-- 映射文件定位 --> < mappers > < mapper resource = "org/leadfar/mybatis/PersonMapper.xml" /> </ mappers > </ configuration >
|
3 映射文件
基本作用就是编写 SQL 语句,同时给每个 SQL 语句定义一个唯一标识( ID ),在程序中通过此 ID 来调用这条SQL 语句。
<? xml version = "1.0" encoding = "UTF-8" ?> <! DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!-- 整个唯一标识 sql 的 id 为 namespace+id org.leadfar.mybatis.Person.insert--> < mapper namespace = "org.leadfar.mybatis.Person" > < insert id = "insert" parameterType = "Person" > insert into t_person(name,age,birthday) values(#{name},#{age},#{birthday}) </ insert >
</ mapper > |
4 程序代码
// 声明一个 session 管理工厂 SqlSessionFactory factory = null ; // 声明读取器 Reader reader = null ; |