Ibatis基本內容

Ibatis學習總結
一、使用Ibatis的前期工作
	1、導入jar包,構建Ibatis開發環境
	2、創建配置文件
		2.1、SqlMap.properties(數據庫鏈接所需要的配置信息文件)
			配置如下:
			driver=oracle.jdbc.driver.OracleDriver
			url=jdbc:oracle:thin:@localhost:1521:XE
			username=hr
			password=hr123
		2.2、SqlMapConfig.xml(總配置信息文件)
			<sqlMapConfig>

				<!-- 映射到數據鏈接配置文件 -->
				<properties resource="com/zhouyuntao/SqlMap.properties" />

				<!-- 指定事務管理器 JDBC -->
				<transactionManager type="JDBC">
					<dataSource type="SIMPLE">
						<!--下面四個是必填的-->
						<property value="${driver}" name="JDBC.Driver"  />
						<property value="${url}" name="JDBC.ConnectionURL"  />
						<property value="${username}" name="JDBC.Username" />
						<property value="${password}" name="JDBC.Password"  />
					</dataSource>
				</transactionManager>
				
				<!--映射到每個實體的映射文件,可以有無數個 -->
				<sqlMap resource="com/zhouyuntao/EMP.xml" />
			</sqlMapConfig>
		2.3、每個實體的映射文件(Map文件)
			<sqlMap>
				<!--別名,減少書寫-->
				<typeAlias alias="emp" type="com.zhouyuntao.bean.EMP"/>
				
				<!--Javabean中的屬性和數據庫中的字段映射-->
				<!-- 
				<resultMap class="emp" id="empResultMap">
					<result property="pid" column="pid"/>
					<result property="name" column="name"/>
					<result property="salary" column="salary"/>
					<result property="hire_date" column="hire_date"/>
				</resultMap>
				 -->
				 
				
		</sqlMap>
	3、讀取配置文件(爲了獲得到SqlMapClient類的實例)
		static {
			try {
				Reader reader = com.ibatis.common.resources.Resources.getResourceAsReader("com/zhouyuntao/SqlMapConfig.xml");
				
				sqlMapClient = com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(reader);
				reader.close();
			} catch (IOException e) {
				throw new RuntimeException(e.getMessage(),e);
			}
		}

二、基本的CURD
		<!--查詢-->
		<select id="findEmpById" parameterClass="int" resultClass="emp">
			select * from emp where pid=#pid#
		</select>
				
				
		<!--增加-->
		<insert id="insertEmp" parameterClass="emp">
			<selectKey keyProperty="pid" resultClass="int">
				select emp_seq.nextval from dual
			</selectKey>
			insert into emp(name,hire_date,salary,pid) values(#name#,#hire_date#,#salary#,#pid#)
		</insert>
		
		<!--修改-->
		<update id="updateEmp" parameterClass="emp">
			update emp set salary=#salary# where name=#name#
		</update>
		
		<!--刪除-->
		<delete id="deleteEmp" parameterClass="int">
			delete from emp where pid=#pid#
			</delete>
三、模糊查詢
	<!--模糊查詢-->
		<select id="findEmpsByName" resultClass="emp">   
		      select *  from emp    
			<dynamic prepend="WHERE">   
			    <isNotNull prepend="AND" property="name">   
				  (name like '%$name$%')    
				<!-- (name like '%'||#name#||'%') -->   
			    </isNotNull>   
		    </dynamic>   
		</select>   
四、自動查詢主鍵
	<insert id="insertEmp" parameterClass="emp">
		<selectKey keyProperty="pid" resultClass="int">
			select emp_seq.nextval from dual
		</selectKey>
		insert into emp(name,hire_date,salary,pid) values(#name#,#hire_date#,#salary#,#pid#)
	</insert>
五、Ibatis的優點和缺點
	1、優點
		1.1、使sql語句和Java代碼分離,便於以後的維護
		1.2、代碼量減少
		1.3、不需要程序員手動的創建和銷燬鏈接
	2、缺點
		不能操作存儲過和自定函數
		只能輸入一個參數
注意:Javabean必須提供默認的無參數構造函數

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