# mybatis
什么是 MyBatis?
M 小 yBatis 是一款优秀的持久层框架,用于简化 JDBC 开发
MyBatis 本是 Apache 的一个开源项目 iBatis,201O 年这个项目由 apache software
foundation 迁移到了 google code, 并且改名为 MyBatis。2013 年 11 月迁移到 Github
官网:https://mybatis.org/mybatis-3/zh_CN/getting-started.html
持久层
负责将数据到保存到数据库的那一层代码
javaEE 三层架构:表现层,业务层,持久层
框架
框架就是一个半成品软件,是一套客场虫蛹的,通用的,如阿健基础代码模型
在框架的基础之上构建软件编写更加高效,规范,通用,可扩展
JDBC 缺点:
1.注册驱动 | |
Class.forName("com.mysql.jdbc.Driver"); | |
/2.获取Connection连接 | |
String url "jdbc:mysql:///db1?useSSL=false"; | |
String uname=“root"; | |
String pwd ="1234"; | |
Connection conn DriverManager.getConnection(url,uname,pwd); | |
∥接收输入的查询条件 | |
String gender="男"; | |
∥定义sql | |
String sql ="select from tb_user where gender ?" | |
∥获取ostmt对象 | |
PreparedStatement pstmt conn.prepareStatement(sql); | |
∥设置?的值 | |
pstmt.setString(1,gender); | |
∥执行sql | |
ResultSet rs pstmt.executeQuery(); | |
∥遍历Result,获取数据 | |
User user null; | |
ArrayList<User>users new ArrayList<>(); | |
while (rs.next()){ | |
∥获取数据 | |
int id rs.getlnt("id"); | |
String username rs.getString("username"); | |
String password rs.getString("password"); | |
∥创建对象,设置属性值 | |
user new User(); | |
user.setld(id); | |
user.setUsername(username); | |
user.setPassword(password); | |
user.setGender(gender); | |
∥装入集合 | |
users.add(user); |
1. 硬编码
需要改代码(密码账户修改,数据库也要改代码,SQL 语句)
2. 操作繁琐
手动设置参数
手动封装结果集
# MyBatis 简化:
# 快速入门:
查询 user 表中的所有数据
1. 创建 user 表,添加数据
2. 创建模块,导入坐标
3. 编写 MyBatis 核心配置文件 --》替换连接信息,解决硬编码问题
4. 编写 SQL 映射文件 --》统一管理 SQL 语句,解决硬编码问题
5. 编码
1. 定义 POJO 类
2. 加载核心配置文件,获取 SqlSessionFactory 对象
3. 获取 SqlSession 对象,执行 SQL 语句
4. 释放资源