Mybatis框架配置文件收录总结(详解附代码版)

Mybatis框架配置收录(详解版)

MybatisUtils详细配置说明

java 复制代码
package com.lanyy.utils;

//import javax.annotation.Resource;

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 工厂类是来构建 sqlSession
public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;

    static {
        try {
            // 第二步去resources 目录下写配置文件mybatis-config.xml
            String resource = "mybatis-config.xml";
            // 构建sqlSessionFactory对象,并引入mybatis配置文件
            InputStream inputStream = Resources.getResourceAsStream(resource);
            // 通过SqlSessionFactoryBuilder方法生成sqlSessionFactory对象
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e)
        // 使用mybatis必须完成的一步,加载配置文件,获取sqlSessionFactory对象
//        String resource = "mybatis-config.xml";
//        InputStream input = Resource.getResourceAsStream(resource);
//        sqlSessionFactory sqlsession= new SqlSessionFactoryBuilder().build(input);

        {
            e.printStackTrace();
        }
    }
    // 获取sqlSession对象连接
    public static SqlSession getSqlSession() {
        return sqlSessionFactory.openSession();
    }
}

MybatisUtils简化配置说明

java 复制代码
package com.lanyy.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 --> sqlSession
public class MybatisUtils {

    private static SqlSessionFactory sqlSessionFactory;

    static{
        try {
            //使用Mybatis第一步:获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    public static SqlSession  getSqlSession(){
        return sqlSessionFactory.openSession(true);
    }

}

MybatisUtils自动提交数据库增删改事务配置

java 复制代码
package com.lanyy.utils;

//import javax.annotation.Resource;

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 工厂类构造器
// 生成配置文件流XMLConfigBuilder传递所有配置信息至Configuration
// 经executor执行器创建 sqlSession
public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;

    static {
        try {
            // 第二步去resources 目录下写配置文件mybatis-config.xml
            String resource = "mybatis-config.xml";
            // 构建sqlSessionFactory对象,并引入mybatis配置文件
            InputStream inputStream = Resources.getResourceAsStream(resource);
            // 通过SqlSessionFactoryBuilder方法生成sqlSessionFactory实例化对象
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e)
        // 使用mybatis必须完成的一步,加载配置文件,获取sqlSessionFactory对象
//        String resource = "mybatis-config.xml";
//        InputStream input = Resource.getResourceAsStream(resource);
//        sqlSessionFactory sqlsession= new SqlSessionFactoryBuilder().build(input);

        {
            e.printStackTrace();
        }
    }
    // 获取sqlSession对象连接
    // 设置自动提交事务功能()内改为true,默认为false空白()
    public static SqlSession getSqlSession() {
        return sqlSessionFactory.openSession(true);
    }
}

db.properties配置详情

java 复制代码
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
username=root
pwd=root

mybatis-config.xml配置详情

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核心配置文件-->
<configuration>

    <!--引入外部配置文件-->
    <properties resource="db.properties"/>

    <settings>
        <!--标准的日志工厂实现-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

    <!--可以给实体类起别名-->
    <typeAliases>
        <package name="com.lanyy.pojo"/>
    </typeAliases>

    <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="${pwd}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper class="com.lanyy.dao.TeacherMapper"/>
        <mapper class="com.lanyy.dao.StudentMapper"/>
    </mappers>
</configuration>

了解更多知识请戳下:

@Author:懒羊羊

相关推荐
寻星探路5 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
想用offer打牌6 小时前
MCP (Model Context Protocol) 技术理解 - 第二篇
后端·aigc·mcp
曹牧7 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
KYGALYX7 小时前
服务异步通信
开发语言·后端·微服务·ruby
掘了7 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
爬山算法8 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7258 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎8 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄8 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea