MyBatis之环境配置

本文介绍了MyBatis的核心配置文件mybatis-config.xml的内容及如何使用SqlSessionFactory和SqlSession进行数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. mybatis-config.xml

首先MyBatis配置文件的名称为:mybatis-config.xml

  1. MyBatis采用XML格式配置数据库环境信息
  2. MyBatis环境配置标签为<environment>
  3. environment 包含数据库驱动、URL、用户名与密码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 允许有多个environment ,通过default进行环境的修改,设置默认指向的数据库 -->
    <environments default="dev">
        <!-- 配置环境, 不同的环境不同的id名字 -->
        <environment id="dev">
            <!-- 采用JDBC方式对数据库事物进行commit / roolback -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 采用连接池的方式管理数据库连接 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/king?sueUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
</configuration>
2. SqlSessionFactory
  1. SqlSessionFactory是Mybatis的核心对象,加载配置文件,完成mybatis前期初始化工作
  2. 用于初始化MyBatis,创建SqlSession对象,对数据表中数据进行增删改查工作
  3. 保证SqlSessionFactory在应用中全局唯一,通常通过静态类的方式对它进行初始化。
3. SqlSession
  1. SqlSession是MyBatis操作数据库的核心对象
  2. SqlSession使用JDBC方式与数据库交互
  3. SqlSession对象提供了数据表CRUD对应方法
public class MyBatisTestor {
    @Test
    public void testSqlSessionFactory(){
        try {
            // 利用Reader 加载classpath下的mybatis-config.xml核心配置文件
            Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
            // 初始化SqlSessionsFactory 对象,同时解析mybatis-config.xml文件
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
            System.out.println("SqlSessionFactory对象加载成功");
            SqlSession sqlSession = null;
            try{
                //创建SqlSession对象,SqlSession是JDBC的扩展类,用于数据库的交互
                sqlSession = sqlSessionFactory.openSession();
                // 创建数据库连接(测试用), 正常开发时,是由mybatis自动调用的,不需要我们显示的调用
                Connection connection = sqlSession.getConnection();
                System.out.println(connection);
            }catch( Exception e){
                e.printStackTrace();
            }finally{
                if(sqlSession != null){
                    //如果type=“POOLED",代表使用连接池,close则是将链接回收到连接池中
                    // 如果type="UNPOOLED"代表直连, close则会调用Connection.close()方法关闭连接
                    sqlSession.close();
                }
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值