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

相关推荐
coderSong256836 分钟前
Java高级 |【实验八】springboot 使用Websocket
java·spring boot·后端·websocket
Mr_Air_Boy1 小时前
SpringBoot使用dynamic配置多数据源时使用@Transactional事务在非primary的数据源上遇到的问题
java·spring boot·后端
豆沙沙包?2 小时前
2025年- H77-Lc185--45.跳跃游戏II(贪心)--Java版
java·开发语言·游戏
年老体衰按不动键盘2 小时前
快速部署和启动Vue3项目
java·javascript·vue
咖啡啡不加糖2 小时前
Redis大key产生、排查与优化实践
java·数据库·redis·后端·缓存
liuyang-neu3 小时前
java内存模型JMM
java·开发语言
大鸡腿同学3 小时前
纳瓦尔宝典
后端
UFIT3 小时前
NoSQL之redis哨兵
java·前端·算法
刘 大 望3 小时前
数据库-联合查询(内连接外连接),子查询,合并查询
java·数据库·sql·mysql
怀旧,3 小时前
【数据结构】6. 时间与空间复杂度
java·数据结构·算法