Mybatis总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Mybatis总结
1.mybatis的简单概述:
1.1mybatis简单概述:
MyBatis 是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的XML 或注解来配置和映射原生信息,将接口和Java 的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
1.2 功能架构:
分为三层:
(1).API接口层:定义api接口,外部人员通过这个接口来调用方法从而操纵数据库。
(2).数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
(3).基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数
据处理层提供最基础的支撑。
2.mybatis快速入门:
a. 添加jar包:
mybatis
asm-3.3.1.jar
cglib-2.2.2.jar
commons-logging-1.1.1.jar
log4j-1.2.16.jar
mybatis-3.1.1.jar
slf4j-api-1.6.2.jar
slf4j-log4j12-1.6.2.jar
mysql驱动
mysql-connector-java-5.1.7-bin.jar
b. 建库+表:
create database mybatis;
use mybatis;
CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME
VARCHAR(20), age INT);
INSERT INTO users(NAME, age) VALUES('Tom', 12);
INSERT INTO users(NAME, age) VALUES('Jack', 11);
c. 在应用的src下添加Mybatis的配置文件conf.xml:
d. 定义表所对应的实体类:
public class User {
private int id;
private String name;
private int age;
}
e. 定义操作users表的sql映射文件userMapper.xml:
"/dtd/mybatis-3-mapper.dtd">
select * from Blog where id = #{id}
f. 在conf.xml文件中注册userMapper.xml文件:
g. 编写测试代码:执行定义的select语句:
public class Test {
public static void main(String[] args) throws IOException {
String resource = "conf.xml";
//加载mybatis的配置文件(它也加载关联的映射文件)
Reader reader = Resources.getResourceAsReader(resource);
//构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
//创建能执行映射文件中sql的sqlSession
SqlSession session = sessionFactory.openSession();
//映射sql的标识字符串
String statement = "erMapper"+".selectUser";
//执行查询返回一个唯一user对象的sql
User user = session.selectOne(statement, 1);
System.out.println(user);
}
}
3. 编写基于mybatis的操作users表的CRUD操作的dao类:
a. XML的实现:
1. 定义sql映射xml文件:
delete from users where id=#{id}
select * from users where id=#{id}
2. 在config.xml中注册这个映射文件