- 前言
- 一、Mybatis核心对象
- 1.SqlSessionFactory
- 2.SqlSession
- 二、Mybatis连接测试
- 1.数据库连接信息文件
- 2.数据库连接测试
- 总结
在上一篇文章中写到在使用Mybatis需要进行一系列的配置,才能让后续的数据操作能够使用ORM框架,在配置好需要的依赖和环境后,今天我们先进行测试一下是否能够正常访问到数据库的信息,然后下一篇文章讲增删改查的操作。如果你还未配置好需要的依赖,请移步Mybatis基本配置查看。
一、Mybatis核心对象 1.SqlSessionFactory
它是Mybatis的核心对象之一,起到承上启下的作用。SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由能使它重新创建另一个实例。 使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次,多次重建 SqlSessionFactory 被视为一种代码“坏习惯”。因此 SqlSessionFactory 的最佳作用域是应用作用域,最简单的就是使用单例模式。
- 向上负责初始化Mybatis环境
- 向下负责创建SqlSeesion对象
- 需要保证SqlSessionFactory的唯一
- 建议使用static或者使用单例模式来修饰SqlSessionFactory
它相当于是前线作战的士兵,基本上所有的数据操作都是通过它来完成,是操作数据库的核心对象,该接口中提供了一些与数据库交互的方法。基本的数据操作如下:将对读取的配置文件进行字节流转换后实现数据的一系列操作。
String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);二、Mybatis连接测试 1.数据库连接信息文件
在前一篇文章用写到mybatis-config.xml文件的配置,其中有涉及到数据库的连接信息,其中 驱动、连接url,账号、密码在jdbc.properties文件中进行数据库信息统一管理。
jdbc.properties文件放在resource包下,注意这里的驱动、连接url,账号、密码的名称应与上面mybatis-config.xml配置文件中相对应的value值保持一直,否则会无法连接到数据库
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/java?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false jdbc.username=root jdbc.password=1234562.数据库连接测试
这里因为到入了JUnit测试依赖,所以可以直接在test中建一个测试类进行测试。注意加入@Test注解。
@Test
public void initMybatis() throws IOException {
//加载配置文件
String resource = "mybatis-config.xml";
//转换成输入流
InputStream inputStream = Resources.getResourceAsStream(resource);
//拿到sqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
System.out.println("sqlSessionFactory="+sqlSessionFactory);
//拿到sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
System.out.println("sqlSession="+sqlSession);
//拿到connection
Connection connection = sqlSession.getConnection();
System.out.println("connection="+connection);
}
启动测试运行之后,在控制台得到下列日志信息,表示你已经成功连接到数据库。
总结
以上就是今天要讲的内容,本文对数据的连接进行测试,保证Session能够成功对数据库进行访问,下一篇具体讲CURD操作。



