目录

​一、MyBatis简介​

​二、MyBatis入门案例​

​步骤:1、创建User表,添加数据​

​2、创建模块,导入坐标​

​3、编写MyBatis核心配置文件 --> 替换连接信息,解决硬编码问题​

​4、编写SQL映射文件 --> 统一管理sql语句,解决硬编码问题​

​5、编码:​

​        1、定义POJO类,对应数据表的字段​

​        2、加载核心配置文件,获取SqlSessionFactory对象​

​        3、获取SqlSession对象,执行SQL语句​

​        4、释放资源​


一、MyBatis简介

MyBatis是一款优秀的持久层框架,用于简化JDBC开发

MyBatis本是Apache的一个开源项目iBatis,2021年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。

​官网地址mybatis – MyBatis 3 | 简介

MyBatis简介及入门案例_后端

https://mybatis.org/mybatis-3/zh/index.html​

持久层:负责将数据保存到数据库的那一层代码

JavaEE三层架构:表现层,业务层,持久层

框架:框架就是一个半成品的软件,是一套可重用的、通用的、软件基础代码模型

在框架的基础之上构建软件编写更高效、规范、通用、可扩展

JDBC缺点:

硬编码:1、注册驱动,获取连接        2、SQL语句

操作繁琐:1、手动设置参数        2、手动封装结果集

MyBatis简化,把硬编码用配置文件替代,操作繁琐用自动完成替代,Mybatis免除了几乎所有的JDBC代码以及设置和获取结果集的工作。

二、MyBatis入门案例

步骤:1、创建User表,添加数据

MyBatis简介及入门案例_数据库_02

2、创建模块,导入坐标

MyBatis简介及入门案例_数据库_03

pom.xml文件导入需要用到的依赖

 

MyBatis简介及入门案例_数据库_04

 

MyBatis简介及入门案例_intellij idea_05

3、编写MyBatis核心配置文件 --> 替换连接信息,解决硬编码问题

在mian文件夹里resources文件夹中新创建一个新的xml文件,在官网找到从XML中构建SqlSessionFactory的配置信息复制过来即可,修改对应的数据库连接信息,用户名和密码对应自己的数据库用户名和密码

MyBatis简介及入门案例_数据库_06

MyBatis简介及入门案例_intellij idea_07

4、编写SQL映射文件 --> 统一管理sql语句,解决硬编码问题

在resources文件夹里新创建一个SQL映射文件,也是在官网上找配置示例进行复制,修改相应的信息即可

MyBatis简介及入门案例_数据库_08

MyBatis简介及入门案例_数据库_09

 在核心配置文件mybatis-config.xml中加载sql映射文件

MyBatis简介及入门案例_java-ee_10

5、编码:

        1、定义POJO类,对应数据表的字段

public class User {

private Integer id;
private String username;
private String password;
private String gender;
private String addr;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getGender() {
return gender;
}

public void setGender(String gender) {
this.gender = gender;
}

public String getAddr() {
return addr;
}

public void setAddr(String addr) {
this.addr = addr;
}

@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", gender='" + gender + '\'' +
", addr='" + addr + '\'' +
'}';
}
}

        2、加载核心配置文件,获取SqlSessionFactory对象

        3、获取SqlSession对象,执行SQL语句

        4、释放资源

import com.itheima.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
* Mybatis 快速入门
*/
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<User> users = sqlSession.selectList("com.itheima.mapper.UserMapper.selectAll");

System.out.println(users);

//4、释放资源
sqlSession.close();
}
}

执行结果:

MyBatis简介及入门案例_数据库_11