MyBatista入门到入土——开发项目的具体步骤

Mybatis从入门到入土——开发项目的具体步骤

Mybatis开发项目的具体步骤

项目中映入mybatis maven配置

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>${mybatis.version}</version>
</dependency>

​ 可以根据最新的mybatis版本来进行开发

创建mybatis配置文件

​ mybatis的配置文件为xml格式的,可以放在resource目录下,具体内容:

<?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>
    <properties>
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/zhonghubatis?useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=GMT"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
    </properties>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/user.xml"/>
    </mappers>
</configuration>

​ 该文件主要是对mybatis进行全局配置,比如数据源、事务的配置,如datasource元素就是来配置数据源的,其中数据源就需要指定数据库的一些配置信息;这里不做过多阐述,后面会逐步说明

创建mapper.xml文件

​ 我们需要对表所有操作sql就卸载这个文件里。然后在mybatis的配置文件中引入这个mapper文件。

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

​ mappers元素可以有多个mapper文件,然后需要在mappers中进行引入然后mybatis才能使用到

创建Mapper接口

​ 开发者通过Mapper接口来和mapper.xml建立映射,当我们调用Mapper接口中的方法的时候,会间接调用到mapper.xml中的各种数据的sql操作。

​ Mapper接口通过如下的代码和Mapper.xml建立关联

<mapper namespace="com.zhonghu.mybatis.UserMapper">

​ user.xml中有很多db操作,这些操作会和UserMapper接口中的方法通过java动态代理建立映射关系,当调用UserMapper中的方法的时候,会间接的调用到user.xml中对应的操作。

Mybatis核心对象介绍

SqlSessionFactoryBuilder

​ 是一个用来构建SqlSessionFactory对象的构造器。其可用通过读取mybatis的配置文件,然后构造一个SqlSessionFactory对象。

  • 创建SqlSessionFactory有两种方式:
    • 一种是读取Mybatis配置文件的方式
    • 一种是硬编码的方式(Springboot)。

​ 其次将mybatis配置文件、mapper.xml文件、mapper.xml文件和Mapper接口的映射关系都事前解析好,然后放在java对象中。这样就不用每次去重新解析xml了。

SqlSessionFactory

​ 是一个重量级的对象,用来创建SqlSession的工程。其创建比较耗时,所以一个db一般会创建一个对象,然后在系统运行过程中会一直存在。

​ SqlSessionFactory是一个接口,此接口有两个实现:DefaultSqlSessionFactory和SqlSessionManager。一般是通过SqlSessionFactoryBuilder来创建的

SqlSession

​ 我们通过jdbc操作数据库需要先要回去一个Connection的连接,然后拿着这个连接去db进行操作。

​ Mybatis中SqlSession就类似于jdbc中的Connection连接对象,在nybatis中叫做Sql会话对象,一般我们一个db操作使用一个SqlSession对象,所以这个对象一般是方法级别的,方法结束后对象就销毁了,此对象可以用sqlSessionFactory.openSession方法来进行获取

​ 我们可以直接通过SqlSession对象来调用mapper.xml中各种db操作,需要指定具体的操作的id,id格式为namespace.操作的id

Mapper接口

​ Mapper接口中的方法和mapper.xml文件中的各种db操作建立了映射,是通过Mapper接口完整名称+方法名称和mapper.xml中的namespace+具体操作的id来进行关联的,然后我们直接调用Mapper接口中的方法就可以间接的操作db了。

​ Mapper接口需要通过SqlSession获取,传入Mapper接口对应的Class对象,然后会返回这个接口的实例,如

UserMapper mapper = sqlSession.getMapper(UserMapper.class)

猜你喜欢

转载自blog.csdn.net/issunmingzhi/article/details/106615136