您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页MyBatis之环境配置

MyBatis之环境配置

来源:宝玛科技网

1. mybatis-config.xml

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

<?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();
        }
    }
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务