mybatis源码阅读笔记-开篇

前言

背景

为了更好的理解mybatis的原理,花点时间了解一下它的内部过程。

分析的内容

主要分析如下四大内容:

1、分析Mybatis是怎么解析配置文件。

2、分析Mybatis是如何执行Sql并映射结果。

3、分析Mybatis是如何使用缓存的。

4、分析mybatis的插件的实现原理。

 

第一章:搭建源码的调试环境

环境准备

1、mybatis调试项目建立

在spring 集成开发工具STS中新建一个简单的maven项目,在项目中引入mybatis的依赖包和mysql的驱动包。

 

 

 

为了保证项目中把源代码下载下来,在STS中,需要对maven进行以下的相关配置。

 

 

 

 

 

2、调试支撑数据库建立

在mysql中新建一个测试的数据库lookmybatis和测试的数据表user。

 

 

 

对应的创建数据表的sql语句

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(255) NOT NULL,

  `password` varchar(255) NOT NULL,

  `name` varchar(255) NOT NULL,

  `gender` int(11) NOT NULL,

  `mobile` varchar(255) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

3、项目工程代码整合

在项目工程中新建user的实体类,对应于数据库的user表

 

 

 

User.java 的源代码

public class User implements Serializable {

 

private static final long serialVersionUID = 1L;

private Integer id;

private String username;

private String password;

private String name;

private String gender;

private String mobile;

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 getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

public String getMobile() {

return mobile;

}

public void setMobile(String mobile) {

this.mobile = mobile;

}

@Override

public String toString() {

return "User [id=" + id + ", username=" + username + ", password=" + password + ", name=" + name + ", gender="

+ gender + ", mobile=" + mobile + ", toString()=" + super.toString() + "]";

}

}

 

 

从官方网站上(http://www.mybatis.org/mybatis-3/zh/getting-started.html)获取一个基础的mybatis配置文件,放置到项目的根目录下。比如命名为:mybatis-config.xml,修改其中的数据库连接信息和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.cj.jdbc.Driver"/>

        <property name="url" value="jdbc:mysql://localhost:3306/lookmybatis?serverTimezone=GMT%2B8"/>

        <property name="username" value="root"/>

        <property name="password" value="123456"/>

      </dataSource>

    </environment>

  </environments>

  <mappers>

    <mapper resource="mapper/user.xml"/>

  </mappers>

</configuration>

 

新建需要测试的sql映射文件,项目中放置在了项目根目录下的mapper的文件夹下的user.xml。

 

 

 

在项目中的main方法中编写测试代码,测试环境是否ok

 

 

 

在lookmybatis数据库的user表中插入一条id为1的记录。

 

 

 

如果没有什么问题的话,将在控制台中打印出查询的记录信息。

 

 

 

 

看到上述界面,表示基础的mybatis运行环境搭建完毕。

转载于:https://www.cnblogs.com/1016598/p/9726274.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值