Mybatis 源码系列专栏(一)--- MyBatis 入门

Mybatis 简介

什么是mybatis? 我们来看看官网是怎么说的。

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
简而言之,使用MyBatis可以让我们更加专注于 SQL 的编写,不再去关注注册驱动、获取连接、执行 SQL、释放资源等操作。

一、Mybatis环境搭建

为了更好的理解MyBatis繁多的标签,本文将基于XML的方式搭建。本文基于mybatis 3.4.x 进行分析。

1.源码下载

https://github.com/mybatis/mybatis-3/tree/3.4.x

2.导入idea

在这里插入图片描述

3.添加MySql依赖(依据自己实际使用的数据库)

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.46</version>
    </dependency>

二、Mybatis 简单示例

1.在项目的test包中新建自己的测试包

在这里插入图片描述

2. 创建mybatis配置文件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="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/sakila"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
      </dataSource>
    </environment>
  </environments>
  <!-- mybatis 映射文件-->
  <mappers>
    <mapper resource="org/apache/ibatis/mytest/mapper/ActorMapper.xml"/>
  </mappers>
</configuration>

3. 创建POJO

public class Actor {

  private int actorId;
  private String firstName;
  private String lastName;
  private Date lastUpdate;
  ... 省略set get
}

4. 创建Mapper

public interface ActorMapper {

  List<Actor> getActor(@Param("id")int id);
}

5. 创建Mapper 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="org.apache.ibatis.mytest.mapper.ActorMapper">
    <select id="getActor" resultType="org.apache.ibatis.mytest.entity.Actor">
        SELECT actor_id actorId ,  first_name firstName, last_name lastName , last_update lastUpdate
        from  actor
        where actor_id = #{id}
  </select>
</mapper>

6. 创建Test.java

public static void main(String[] args) throws IOException {
    //1、读取配置文件
    String resource = "org/apache/ibatis/mytest/config/mybatis-config.xml";
    Reader reader = Resources.getResourceAsReader(resource);
    // 2 创建 SqlSessionFactory 工厂:使用 SqlSessionFactoryBuilder 构建者
    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
    // 3 使用工厂生产 SqlSession 对象
    SqlSession sqlSession = factory.openSession();
    // 4 使用 SqlSession 创建 Mapper 的代理对象
    ActorMapper mapper = sqlSession.getMapper(ActorMapper.class);
    // 5 使用代理对象执行方法
    List<Actor> actorList = mapper.getActor(3);
    for (Actor actor : actorList) {
      System.out.println(actor);
    }


    // 6 释放资源
    sqlSession.close();
    reader.close();
  }

7.测试结果

看到如下截图所示内容说明mybatis 源码环境搭建成功。下一篇将正式开始源码的分析。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值