- Mybatis概述
- Mybatis入门案例
- step1:创建user表,添加数据
- step2:创建模块,导入坐标
- step3:编写 MyBatis 核心配置文件
- step4:编写 SQL 映射文件
- step5:编码
- MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发
- MyBatis 本是 Apache 的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github
- 官网:https://mybatis.org/mybatis-3/zh/index.html
- Mybatis进一步优化了JDBC代码
- 持久层框架的使用占比
需求:查询user表中所有的数据
create database mybatis; use mybatis; drop table if exists tb_user; create table tb_user( id int primary key auto_increment, username varchar(20), password varchar(20), gender char(1), addr varchar(30) ); INSERT INTO tb_user VALUES (1, 'zhangsan', '123', '男', '北京'); INSERT INTO tb_user VALUES (2, '李四', '234', '女', '天津'); INSERT INTO tb_user VALUES (3, '王五', '11', '男', '西安');step2:创建模块,导入坐标
org.mybatis mybatis 3.5.5 mysql mysql-connector-java 5.1.48 junit junit 4.13 test org.slf4j slf4j-api 1.7.20 ch.qos.logback logback-classic 1.2.3 ch.qos.logback logback-core 1.2.3 javax.annotation javax.annotation-api 1.3.2
接着,需要在项目的 resources 目录下创建logback的配置文件
logback.xml
step3:编写 MyBatis 核心配置文件[%level] %cyan([%thread]) %boldGreen(%logger{15}) - %msg %n
编写 MyBatis 核心配置文件,为了替换连接信息解决硬编码问题。
在模块下的 resources 目录下创建mybatis的配置文件 mybatis-config.xml。
step4:编写 SQL 映射文件
编写 SQL 映射文件==>统一管理sql语句,解决硬编码问题
在模块的 resources 目录下创建映射配置文件 UserMapper.xml,内容如下:
step5:编码
在 com.itheima.pojo 包下创建 User类
笔记本电脑可以右键里面选择Generte
public class User {
private int id;
private String username;
private String password;
private String gender;
private String addr;
public int getId() {
return id;
}
public String getUsername() {
return username;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + ''' +
", password='" + password + ''' +
", gender='" + gender + ''' +
", addr='" + addr + ''' +
'}';
}
public void setId(int id) {
this.id = id;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public void setGender(String gender) {
this.gender = gender;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getPassword() {
return password;
}
public String getGender() {
return gender;
}
public String getAddr() {
return addr;
}
}
在 com.itheima 包下编写 MybatisDemo 测试类
public class MybatisDemo {
public static void main(String[] args) throws IOException {
//1. 加载mybatis的核心配置文件,获取 SqlSessionFactory
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2. 获取SqlSession对象,用它来执行sql
SqlSession sqlSession = sqlSessionFactory.openSession();
//3. 执行sql
List users = sqlSession.selectList("test.selectAll"); //参数是一个字符串,该字符串必须是映射配置文件的namespace.id
System.out.println(users);
//4. 释放资源
sqlSession.close();
}
}



