Mybatis入门

简介

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

入门

安装

普通 Java 项目,只需要把 mybatis-xxx.jar 导入 classpath 即可。

如果是 maven 项目,需要在 pom 文件中添加以下依赖

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>x.x.x</version>
</dependency>

数据库表 user

user表

实体类 User

public class User {
    private Long id;
    private String username;
    private String address;

    public Long getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

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

全局配置文件 mybatis-config.xml

<?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>
    <!--  配置环境  -->
    <environments default="dev">
        <environment id="dev">
            <!-- 事务管理器 -->
            <transactionManager type="JDBC" />
            <!-- 数据源 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 映射文件 -->
    <mappers>
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
</configuration>

映射文件 UserMapper.xml

<?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">
    
<mapper namespace="com.mapper.UserMapper">
    <select id="findUserById" resultType="com.entity.User">
        select * from tb_user where id = #{id}
    </select>
</mapper>

基本使用

核心类
  • SqlSessionFactoryBuilder:读取配置文件构建 SqlSessionFactory 对象
  • SqlSessionFactory:顾名思义,SqlSession 的工厂类
  • SqlSession:SQL 会话,执行具体 CRUD 操作
public static void main(String[] args) {
    // 读取配置文件
    String path = "mybatis-config.xml";
    try (InputStream inputStream = Resources.getResourceAsStream(path)) {
        // 创建sqlSession工厂
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        // 创建SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
        // 查询数据
        User user = sqlSession.selectOne("com.mapper.UserMapper.findUserById", 1);
        System.out.println(user);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

执行结果:
在这里插入图片描述

Mybatis执行流程简单分析:

  • 读取 mybatis-config.xml 获取数据源;
  • 读取 UserMapper.xml 文件获取 SQL 语句相关信息;
  • SqlSession 执行 CRUD 操作;
  • 映射成对应的实体类对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌影~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值