Mybatis总结(2)-Mybatis的原理及搭建

  1. 在Mybatis搭建前,应该先了解其运行基本原理
    1. 读取Mybatis的配置文件-Mybatis-config.xml
    2. 由配置文件的mapper来加载映射文件mapper.xml
    3. 构造一个SqlSessionFactory工厂
    4. 用工厂来实例化一个SqlSession的对象,类似于BeanFactory
    5. Executor执行器(没有在代码中找到,先存疑)
    6. MapperStatement对象(映射器):将你要声明映射的对象(pojo,map,list,String,Integer等基本类型)注入
    7. MapperStatement在从数据库中获取映射数据然后输出映射

  2. 我们的搭建思路也是根据基本原理来搭建的
    1.配置文件:
    log4j.properies
    # Global logging configuration log4j.rootLogger=ERROR, stdout # MyBatis logging configuration... log4j.logger.com.itheima=DEBUG # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
    db.properties

     ```
     jdbc.driver=com.mysql.jdbc.Driver
     jdbc.url=jdbc:mysql://localhost:3306/mybatis
     jdbc.username=root
     jdbc.password=123456
     jdbc.maxTotal=30
     jdbc.maxIdle=10
     jdbc.initailSize=5
     ```
    
  3. 搭建的Mybatis-config.xml,负责连接数据库和获取mapper配置

<?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>
	<!--引入数据库连接配置文件  -->
	<properties resource="db.properties"></properties>
	<typeAliases>
				<package name="com.mybatis.po"/>
	</typeAliases>
	<!-- 1.配置环境,默认环境id为mysql -->
	<environments default="mysql">
		<!-- 1.2配置id为mysql的数据库环境 -->
		<environment id="mysql">
			<!-- 使用JDBC事务管理 -->
			<transactionManager type="JDBC"/>
			<!-- 数据库连接池 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
				<property name="username" value="root"/>
				<property name="password" value="123456"/>
			</dataSource>
		</environment>
	</environments>
<mappers>
<mapper resource="com/mybatis/mapper/PersonMapper.xml"/>
<mapper resource="com/mybatis/mapper/IdCardMapper.xml"/>
</mappers>
</configuration>
  1. 持久化层负责对数据持久化,映射数据库,编写持久化层po
  2. 编写映射文件mapper负责对持久化层数据的映射操作
  3. 由SqlSessionFactory来实例化对象进行操作(小技巧:封装SqlSessionFactory成util工具类来简化开发)

猜你喜欢

转载自blog.csdn.net/qq_38929920/article/details/83473188