KKB : 搭建Mybatis框架、mybatis的执行过程

搭建Mybatis框架

1、添加驱动包

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.6</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.40</version>
    </dependency>

2、创建 mybatis.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/express"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 指定maper⽂件的路径(maven项⽬从resources源⽂件夹下找资源)-->
    <mappers>
        <mapper resource="包名/mapper⽂件名"/>
    </mappers>
</configuration>

mapper的配置文件在后面

3、编写 bean包以及dao接口

4、编写StudentMapper.xml文件

xml的头信息可以根据mybatis.xml的头信息修改


namespace 定义接口的完整路径
id是方法名
resultType是返回值的类型

5、完善mybatis.xml文件,将StudentMapper.xml文件初始化在mybatis.xml文件中

6、编写Test文件 进行测试

先对mybatis.xml文件进行解析,获取流对象,然后寻找流对象和SQLsession之间的联系。mybatis框架 提供了创建SQLsession的工厂,但是流对象只和创建工厂的builder有关系,所以先获取创建工厂的builder。获取了builder之后,就可以创建工厂了,通过工厂再创建SQLsession对象

package com.atshiyou;

import com.atshiyou.bean.Student;
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.Reader;
import java.util.List;

public class Test {
    public static void main(String[] args) throws Exception {
//        1、加载配置文件
        Reader reader = Resources.getResourceAsReader("mybatis.xml");
        //2、得到SqlSessionFactoryBuilder
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory build = builder.build(reader);
        //3、得到session对象
        SqlSession session = build.openSession();
        // 4、操作SQL
        List<Student> lists = session.selectList("com.atshiyou.dao.StudentDao.findAll");//方法参数是被调取
        //5、遍历
        for (Student student : lists){
            System.out.println(student);
        }
        session.close();
        reader.close();

    }
}


mybatis的执行过程

1、读取xml文件,文件中指定了两个事情,第一个指定连接数据库的信息(进行数据库的连接),另外一个指定mapper文件路径——>加载mapper文件,mapper文件可以生成对应关系,当前的SQL语句和当前方法的对应关系。

2、如何找到SQL语句,可以理解为namespace+id作为key,然后value值就是SQL语句

3、和之前使用JDBC连接数据库的过程相比:使用mybatis框架的程序员只需要关心SQL语句的编写。至于说怎么去连接数据库,怎么去打开连接,怎么去处理结果集,都交给框架处理

猜你喜欢

转载自blog.csdn.net/awodwde/article/details/112979157
今日推荐