// 1.mybatis配置文件
String resources = "configuration.xml";
// 2.获取Reader对象
Reader resourceAsReader = Resources.getResourceAsReader(resources);
// 3.获取SqlSessionFactoryBuilder
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsReader);
// 4.创建对应的session
SqlSession sqlSession = build.openSession();
// 5.获取对应的mapper
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 6.执行方法
User user = userMapper.getUser(25);
依赖信息:
<dependencies>
<!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.29</version>
</dependency>
<!-- junit测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
1.读取mybatis核心配置文件 InputStreamReader(字符输入流,读取配置文件,将配置文件转换成字符输入流)
2.XMLConfigBuilder(mybatis自定义解析核心配置文件成javabean)
源码分析:当使用XMLConfigBuilder对象解析核心xml文件后,会将parsed属性设置为true,则下次不能重复解析该配置文件
3.Configuration,由XMLConfigBuilder解析配置文件转换成当java类,保存个个节点之间的信息
4.DefaultSqlSessionFactory(默认的session工厂):利用构造函数,赋值Configuration类,实例化默认的session工厂
5.enum ExecutorType, 包含简单(默认) 复用 批处理 类型
6.SqlSessionFactory.openSession();传递默认的ExecutorType类型
1.读取环境配置(该节点下的内容)
2.创建事务工厂
3.创建默认的DefaultSqlSession
7.sqlSession.getMapper(mapper.class):使用mapperRegistry(注册映射器)->MapperProxyFactory(映射器代理工厂,创建映射器代理类)
8.通过代理类,执行sql,获取结果