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:懒羊羊

相关推荐
拳打南山敬老院34 分钟前
Context 不是压缩出来的,而是设计出来的
前端·后端·aigc
初次攀爬者40 分钟前
Kafka + ZooKeeper架构基础介绍
后端·zookeeper·kafka
LucianaiB41 分钟前
Openclaw 安装使用保姆级教程(最新版)
后端
华仔啊1 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang1 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
哈密瓜的眉毛美1 小时前
零基础学Java|第五篇:进制转换与位运算、原码反码补码
后端
开心就好20252 小时前
免 Xcode 的 iOS 开发新选择?聊聊一款更轻量的 iOS 开发 IDE kxapp 快蝎
后端·ios
Java编程爱好者2 小时前
为什么国内大厂纷纷”弃坑”MySQL,转投PostgreSQL阵营?
后端
神奇小汤圆2 小时前
金三银四Java面试题及答案汇总(2026持续更新)
后端
Ray Liang2 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计