MyBatis配置

本文详细介绍了MyBatis作为持久层框架的三大核心元素:SqlSessionFactory、SqlSession和配置文件mybatis.cfg.xml。SqlSessionFactory是通过SqlSessionFactoryBuilder创建,用于生成执行持久化操作的SqlSession。配置文件包括设置、类型别名、环境和映射器配置,其中环境配置包含了数据源和事务管理器。此外,还提到了SQL映射文件,它与持久层接口对应,定义了SQL语句。文章最后列出了MyBatis的相关依赖,并提供了MyBatis中文网的链接以供深入学习。

首先MyBatis是持久层的框架,常用来替代JDBC的方案之一

框架组成,三基本要素

1).核心接口和类(SqlSessionFactory 和 SqlSession)

SqlSessionFactory是MyBatis中核心对象之一,而SqlSessionFactory的实例可以是通过上层SqlSessionFactoryBuilder来获得,SqlSessionFactory的核心作用是创建SqlSession(是应用程序和持久层之间执行交互操作的单线程对象,其作用主要是执行持久化操作)

获取:

public class BaseDao {
    private static SqlSessionFactory factory;

    static {
        try {
            Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");

//通过上层SqlSessionFactoryBuilder创建SqlSessionFactory对象
            factory = new SqlSessionFactoryBuilder().build(reader);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public SqlSession getSqlSession() {
//获取SqlSession
        return factory.openSession();
    }
}

2).核心(主)配置文件 mybatis.cfg.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>
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

    <typeAliases>
        <package name=<!--Bean路径-->/>
    </typeAliases>


    <environments default="dev">

        <environment id="dev">

            <transactionManager type="JDBC"></transactionManager>

            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url"
                          value="jdbc:mysql://localhost:<!--端口号-->/<!--数据库名-->?characterEncoding=utf-8&amp;allowMultiQueries=true"/>
                <property name="username" value=<!--用户名-->/>
                <property name="password" value=<!--密码-->/>
            </dataSource>

        </environment>

    </environments>

    <mappers>
        <package name=<!--Dao路径-->/>
    </mappers>
</configuration>  

注:配置文件按顺序配置

3).SQL映射文件(mapper.xml)

这里映射文件是用来映射持久层接口的,所以映射文件名和路径需要与接口同名

例如:

 注:在resources目录下创建路径要用到 ' / ' 表示层级关系:com/project/dao

导入依赖

 <!--mybatis核心包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.9</version>
        </dependency>
        <!--mybatis支持jdk8拓展包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-typehandlers-jsr310</artifactId>
            <version>1.0.2</version>
        </dependency>
        <!--数据库依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.29</version>
        </dependency>

更多的MyBatis的运用可以到MyBatis中文网https://mybatis.net.cn/进行查阅

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值