iBATIS中非常重要的对象:
[b]sqlMapClient对象[/b]
[color=red]这个对象是iBatis操作数据库的接口(执行CRUD等操作),它也可以执行事务管理等操作。[/color]这个类是我们使用iBATIS的最主要的类。[color=red]它是线程安全的。[/color][color=red]通常,将它定义为单例[/color]。(与hibernate中sessionFactory的定义类似)
定义成单例的一种写法
[b]sqlMapClient对象[/b]
[color=red]这个对象是iBatis操作数据库的接口(执行CRUD等操作),它也可以执行事务管理等操作。[/color]这个类是我们使用iBATIS的最主要的类。[color=red]它是线程安全的。[/color][color=red]通常,将它定义为单例[/color]。(与hibernate中sessionFactory的定义类似)
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;
}
}
定义成单例的一种写法