iBatis-iBatis配置環境(eclipse+mysql)


           在使用JAVA框架前要配置其環境,比如使用Hibernate、Struts等都需要對其環境進行配置,當然使用iBatis開發之前,也需要配置iBatis環境。

 

一、iBatis環境的配置只需三步

1.引入jar包

2.配置sqlMapConfig.xml文件

3.配置SqlMap.xml文件

二、概覽iBatis環境所需文件

            

 

三、配置iBatis環境具體操作如下

 

   1.引入iBatis環境所需jar包

     引jar方式見博客《Eclipse下導入外部jar包的3種方式

 

     iBatis環境所需jar包如下:

    • iBatis核心包: ibatis-2.3.4.726.jar
    • 單元測試工具包: junit-3.8.1.jar
    • 2個日誌文件(信息打印到控制檯): commons-logging.jar和log4j-1.2.11.jar
    • 數據庫驅動包(here MySql): mysql-connector-java-5.1.5-bin.jar

   引入jar包後,添加日誌文件log4j.properties(爲了使執行的sql語句打印在控制檯上,此文件直接拷貝下面代碼即可)

#   SqlMap   logging   configuration...
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG

#log4j

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{ISO8601} - %p - %m%n
log4j.rootLogger=INFO, console


         然後在MySql數據庫中創建A_User表,作爲測試使用,建表語句如下:

mysql> CREATE TABLE A_User (
            ID INT NOT NULL auto_increment,
            FIRST_NAME VARCHAR(50),
            LAST_NAME  VARCHAR(50),
            EMAIL VARCHAR(50),
            PRIMARY KEY (id)
        );


 

 

 

  2.添加並配置sqlMapConfig.xml文件

    sqlMapConfig.xml文件是使用iBatis的起點,負責把所有的sql映射文件組合在一起,用於配置文件中告訴iBatis如何連接數據庫,以及獲取哪些sql映射文件    

    jar包引入完畢,添加sqlMapConfig.xml文件,配置此文件時需要考慮以下幾點:

    • 我們將使用JDBC來訪問MySql數據庫,如ibatis_user
    • MySql的JDBC驅動程序是"com.mysql.jdbc.Driver"
    • 連接URL是"jdbc:mysql://localhost:3309/ibatis_user" (我的MySql端口爲3309)
    • 使用的用戶名和密碼是“root”和“123456”
    • SQL語句映射的所有操作將被描述在“SqlMap.xml”

  下面對sqlMapConfig.xml文件進行配置,已將數據庫連接文件抽取出來:

<?xml version="1.0" encoding="UTF-8" ?>  
	<!DOCTYPE sqlMapConfig  
	PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"  
	"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
	<sqlMapConfig>
 		<properties resource="db.properties"/>
		<settings
		  cacheModelsEnabled="true"
		  enhancementEnabled="true"
		  lazyLoadingEnabled="true"
		  maxRequests="32"
		  maxSessions="10"
		  maxTransactions="5"
		  useStatementNamespaces="false"
		/>
	    <!-- 事務管理器 -->
		<transactionManager type="JDBC"> 
			<dataSource type="SIMPLE">
				<property name="JDBC.Driver" value="${driver}" />
				<property name="JDBC.ConnectionURL" value="${url}" />
				<property name="JDBC.Username" value="${user}" />
				<property name="JDBC.Password" value="${password}" />
			 </dataSource>
		</transactionManager>
		
		<sqlMap resource="com/wh/sql/SqlMap.xml"/> <!-- 對各SqlMap 文件的引用 -->
		<!--<sqlMap resource="com/wh/sql/SqlMap1.xml"/>
		
		<sqlMap resource="com/wh/sql/SqlMap2.xml"/>
		<sqlMap resource="com/wh/sql/SqlMap3.xml"/>-->
	</sqlMapConfig>


 

   提取的數據庫連接文件db.properties,連接MySql數據庫(ibatis_user)的內容如下:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3309/ibatis_user
user=root
password=123456

 

   連接Oracle的語法爲:
  

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:ibatis_user
user=root
password=123456


 

 

  3.配置SqlMap.xml文件

    SqlMap.xml文件包含了我們將要運行的sql語句。SqlMap是整個iBatis的核心價值所在。通過使用SqlMap可以顯著的節約數據庫操作的代碼量。

    SqlMap是使用一個簡單的xml文件來實現從javabean到sql statements的映射,跟其他的框架或者對象映射工具相比,sqlmaps最大的優勢是簡單。

    SqlMap.xml文件配置如下:

?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" >
<sqlMap namespace="User">
	<!-- 使用別名可以避免每次都輸入類路徑全稱 -->
	<typeAlias alias="User" type="com.wh.test.User"/>
	<resultMap id="UserResult" class="User" >
		<result property="id" column="ID"/>
		<result property="firstName" column="FIRST_NAME"/>
		<result property="lastName" column="LAST_NAME"/>
		<result property="email" column="EMAIL"/>
	</resultMap>
	<!-- 根據id查詢用戶信息 -->
	<select id="selectUserById" parameterClass="java.lang.String" resultMap="UserResult">
		SELECT * FROM A_USER WHERE ID=#id#	
	</select>
</sqlMap>	


 

   至此iBatis的環境就簡單的配置完了,接下來繼續我們的iBatis之旅吧!

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