|
以下是創(chuàng)建一個SqlMapClient的示例,IBatis官方推薦的做法是使用一個輔助類來提供SqlMapClient的實例,見示例12.3。 例12.3:IbatisSQLMapConfig.java package struts.sample.cap11.sample2.ibatisConfig;
import java.io.Reader; import com.ibatis.common.resources.Resources; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class IbatisSQLMapConfig { private static final SqlMapClient sqlMap; //在靜態(tài)區(qū)塊中初試化返回 static { try { //聲明配置文件的名稱(映射文件被定義在其中) String resource = "sql_map_config.xml"; //利用工具類Resources來讀取到配置文件 Reader reader = Resources.getResourceAsReader(resource); //創(chuàng)建SqlMapClient接口的變量實例 sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException( "Error initializing MyAppSqlConfig class. Cause: " + e); } }
public static SqlMapClient getSqlMapInstance() { //提供靜態(tài)方法返回靜態(tài)區(qū)塊中得到的SqlMapClient return sqlMap; } } 對于這個輔助類,之前的解釋已經(jīng)很清楚了,從代碼的注釋總也可以看到它的工作方式。其實也可以按照介紹Hibernate框架時所用的方式將這個類改變成單例類。 一旦創(chuàng)建好了SqlMapClient那么對數(shù)據(jù)庫的操作就十分簡單了。 SqlMapClient提供了如下的一些功能: q 顯式的調(diào)用事務(wù)。 q 執(zhí)行對數(shù)據(jù)庫的常規(guī)操作。 q 批量處理非查詢的SQL語句。 |
|
|