使用註解來配置MyBatis

配置數據源



配置myBatisConfig.xml全局配置文件

<?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.mingde.po"/>
	</typeAliases>
	<!-- 配置開發環境 -->
	<environments default="development">
		<environment id="development">
			<!-- 配置事務管理器 -->
			<transactionManager type="JDBC" />
			<!-- 配置數據源連接池 -->
			<dataSource type="POOLED">
				<property name="driver" value="${driver}"/>
				<property name="url" value="${url}"/>
				<property name="username" value="${username}"/>
				<property name="password" value="${password}"/>
			</dataSource>
		</environment>
	</environments>
	
	<!-- 配置sql語句映射文件 (以下可以2種一起配置)-->
	<mappers>
		<!-- 引用Empmapper.xml映射文件 -->
		<mapper resource="com/mingde/mapper/Empmapper.xml" />
		<!-- 引用映射sql語句註解的類 -->
		<mapper class="com.mingde.dao.EmpDao" />
	</mappers> 
</configuration>

配置MyBatisUtils(配置SqlSessionFactory)

package com.mingde.utils;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyBatisUtils {

	//獲取資源文件,創建SqlSessionFactory工廠
	public static SqlSessionFactory getSqlSessionFactory()throws Exception{
		InputStream inputStream = Resources.getResourceAsStream("myBatisConfig.xml");
		return new SqlSessionFactoryBuilder().build(inputStream);
	}
	//打開SqlSessoinFactory工廠,獲取Sqlsession
	public static SqlSession getSqlSession()throws Exception{
		return getSqlSessionFactory().openSession();
	}
	//打開SqlSessoinFactory工廠,獲取Sqlsession,並且自動提交commit;
	public static SqlSession getSqlSessionAutoCommit()throws Exception{
		//注意:如果爲true,則進增刪改時,會自動commit提交,如果不寫或爲false的話則不會自動commit提交,則需要在寫完增刪改之後,session.commmit();
		return getSqlSessionFactory().openSession(true);
	}
	
}

定義Mapper接口




測試類






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章