以下是创建一个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; //在静态区块中初试化返回 static { try { //声明配置文件的名称(映射文件被定义在其中) String resource = "sql_map_config.xml"; //利用工具类Resources来读取到配置文件 Reader reader = Resources.getResourceAsReader(resource); //创建SqlMapClient接口的变量实例 sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException( "Error initializing MyAppSqlConfig class. Cause: " + e); } }
public static SqlMapClient getSqlMapInstance() { //提供静态方法返回静态区块中得到的SqlMapClient return sqlMap; } } 对于这个辅助类,之前的解释已经很清楚了,从代码的注释总也可以看到它的工作方式。其实也可以按照介绍Hibernate框架时所用的方式将这个类改变成单例类。 一旦创建好了SqlMapClient那么对数据库的操作就十分简单了。 SqlMapClient提供了如下的一些功能: q 显式的调用事务。 q 执行对数据库的常规操作。 q 批量处理非查询的SQL语句。 |
|