• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

mybatis 学习笔记

开发技术 开发技术 2周前 (09-13) 22次浏览
 

项目层级

mybatis 学习笔记
 
 

1.idea创建maven项目

mybatis 学习笔记
 
左侧选择maven,右侧选择jdk版本,然后下方next
mybatis 学习笔记
 
输入GroupId等信息,然后next
mybatis 学习笔记
 
然后项目名,项目所在路径,maven等信息,然后finish。一般这一步都不做任何更改,直接finish
mybatis 学习笔记
 

2.修改父pom文件,添加mybatis等相关依赖

mybatis 学习笔记
    <!--导入依赖-->
    <dependencies>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
            <scope>runtime</scope>
        </dependency>

        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>
        
        <!--junit 单元测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

    </dependencies>

 

  

3.创建maven子项目

3.1在父项目名上右键–》new–>Module,剩下的操作类似新建maven项目

mybatis 学习笔记
mybatis 学习笔记
mybatis 学习笔记
mybatis 学习笔记

3.2修改子项目的pom文件 

引入了Lombok 用来简化get set 等方法
mybatis 学习笔记
    <!--导入依赖-->
    <dependencies>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
        </dependency>
    </dependencies>

  

4.子项目中resources中创建mybatis-config.xml文件 配置数据库等信息

我的mysql是5.7版本,如果mysql是8.0的  驱动这块需要注意,具体区别可自行度娘
<?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">

<!--mybatis 配置文件-->
<configuration>

    <!--环境-->
    <environments default="development">
        <!--环境1-->
        <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/mybatis?serverTimezone=GMT%2B8&amp;useSSL=false&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    
    <mappers>
        <!--mapper 扫描路径-->
        <package name="mapper"/>
    </mappers>
</configuration>

  

5.编写MybatisUtils工具类,获取SqlSession

SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句
package utils;


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.InputStream;

// SqlSessionFactory 工厂模式
public class MybatisUtils {
    /*
    从 XML 中构建 SqlSessionFactory
    每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。
    而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。

    建议使用类路径下的资源文件进行配置。 但也可以使用任意的输入流(InputStream)实例,比如用文件路径字符串或 file:// URL 构造的输入流。
    MyBatis 包含一个名叫 Resources 的工具类,它包含一些实用方法,使得从类路径或其它位置加载资源文件更加容易。
     */
    private static SqlSessionFactory sqlSessionFactory;

    static {
        //读取配置文件 获取SqlSessionFactory对象
        String resource = "mybatis-config.xml";
        try {
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /*
    既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。
    SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句
     */
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }
    
}

  

6.编写操作数据库的mapper接口

示例 查询数据库的用户表,获取到部分用户,

6.1创建实体类

mybatis 学习笔记
 

6.2创建mapper接口,该接口中编写操作数据库的方法 例如:查询20条用户信息

当然也可以通过创建TmsUserListMapper.xml的方式来编写sql语句,不过个人习惯是使用注解,感觉通过XML来编写的话还得会多写一些代码,考虑到能简则简。
mybatis 学习笔记

7.编写测试类,调用mapper中的方法来测试

方式一、

通过加载.class对象获取到 TmsUserListMapper.java接口实例,然后调用接口中的方法来执行sql语句获取到结果

方式二、

通过方法的全路径名直接调用方法来执行sql语句获取到结果

推荐使用方式一、官网也是推荐使用方式一

mybatis 学习笔记
最后forEach输出
mybatis 学习笔记
 
 

程序员灯塔 , 版权所有
转载请注明原文链接:https://www.wangt.cc/2020/09/mybatis-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0/
喜欢 (0)