1. 程式人生 > >Mybatis總結(2)-Mybatis的原理及搭建

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工具類來簡化開發)