iBATIS配置类及操作类的浅析
创始人
2024-04-19 12:00:20
0

iBATIS配置类介绍

iBATIS配置类1、SqlMapFactoryBean具有三个变量configLocation--配置文件的存放地址,sqlmap--读取配置文件后,生成的对象,sqlMapProperties。

Spring使用SqlMapFactoryBean类来读取ibatis的配置文件,创建sqlmap。iBATIS会从classpath读取资源,所以要确保配置文件在classpath上面。

***种情况:

  1.  ﹤bean id="sqlMap" class="org.springframework.orm.ibatis.SqlMapFactoryBean"﹥  
  2.     ﹤property name="configLocation"﹥  
  3.         ﹤value﹥classpath:/sql-map-config.xml﹤/value﹥  
  4.     ﹤/property﹥  
  5. ﹤/bean﹥ 

sql-map-config.xml文件存放在src的目录下。

第二种请况:

  1. ﹤bean id="sqlMap" class="org.springframework.orm.ibatis.SqlMapFactoryBean"﹥  
  2.            ﹤property name="configLocation"﹥﹤value﹥WEB-INF/sqlmap-config.xml﹤/value﹥﹤/property﹥  
  3. ﹤/bean﹥ 

sql-map-config.xml文件存放在web-info的目录下。

已经定义了sqlmap,接着必须为iBATIS写一个配置文件。

  1. ﹤sql-map-config﹥  
  2.  
  3.       ﹤settings statementCacheSize="0" driverHintsEnabled="true"/﹥  
  4.  
  5.       ﹤sql-map resource="com/longtop/bas/BasSql.xml"/﹥  
  6.  
  7. ﹤/sql-map-config﹥ 

iBATIS配置类2、SqlMap 对象。

主要由SqlMapFactoryBean读取xml文件生成的对象,一个项目中只有一个SqlMap对象(singleton对象),SqlMap相当所有ibatis的配置文件。Spring会调用SqlMapFactoryBean生成一个SqlMap对象,并且将SqlMap对象注入到每个SqlDao对象中(继承SqlMapDaoSupport)。

  1.  ﹤!-- SqlMap setup for iBATIS Database Layer --﹥  
  2.  ﹤bean id="sqlMap"      class="org.springframework.orm.ibatis.SqlMapFactoryBean"﹥  
  3.        ﹤property name="configLocation"﹥  
  4.              ﹤value﹥classpath:/sql-map-config.xml﹤/value﹥  
  5.        ﹤/property﹥  
  6.  ﹤/bean﹥  
  7.  
  8. ﹤bean id="basSqlDao" class="com.longtop.bas.dao.BasSqlDaoImpl"﹥  
  9.       ﹤property name="dataSource"﹥  
  10.            ﹤ref local="dataSource" /﹥  
  11.       ﹤/property﹥  
  12.       ﹤property name="sqlMap"﹥  
  13.            ﹤ref local="sqlMap" /﹥  
  14.       ﹤/property﹥  
  15. /bean﹥ 

iBATIS操作类介绍

iBATIS操作类1、运用类(FeedbackSqlDaoImpl)和运用接口(IFeedbackSqlDao),运用类(FeedbackSqlDaoImpl)必须实现了SqlMapDaoSupport的所有抽象方法,且必须实现IFeedbackSqlDao 的抽象方法。

运用类代码介绍:

  1. public class FeedbackSqlDaoImpl extends SqlMapDaoSupport implements      IFeedbackSqlDao {  
  2.  
  3.      public List listFeedback(HashMap hs) throws DataAccessException {  
  4.           return      getSqlMapTemplate().executeQueryForList("listFeedback",hs);    
  5.      }  

运用接口代码介绍:

  1. public interface IFeedbackSqlDao {  
  2.    
  3.      public List listFeedback(HashMap hs) throws DataAccessException;  

iBATIS操作类2、SqlMapDaoSupport抽象类,里面所有的方法都是final方法,不可修改。该类的主要目的是生成一个私有成员变量是SqlMapTemplate的对象,并且提供SetDataSource()和SetSqlMap()方法。这样Spring可以调用这两个方法,并将DataSource和SqlMap封装到SqlMapTemplate这个对象,方便FeedbackSqlDaoImpl的方法可以引用这对象的方法。

  1. public abstract class SqlMapDaoSupport extends DaoSupport {  
  2.  
  3.      private SqlMapTemplate sqlMapTemplate = new SqlMapTemplate();  
  4.      public final void setDataSource(DataSource dataSource) {  
  5.           this.sqlMapTemplate.setDataSource(dataSource);  
  6.      }  
  7.      public final void setSqlMap(SqlMap sqlMap) {  
  8.           this.sqlMapTemplate.setSqlMap(sqlMap);  
  9.      }  
  10.  
  11.     。。。。。。。。。。。。。。。  

iBATIS操作类3、SqlMapTemplate类的主要目的是查找和String statementName对应的MappedStatement对象,并调用相应的方法。

iBATIS配置类及操作类的基本情况就向你介绍到这里,希望对你有所帮助。

【编辑推荐】

  1. iBATIS DAO入门基础教程
  2. iBATIS.NET配置六点总结
  3. iBATIS SQLMap配置Demo浅析
  4. iBATIS参数理解浅析
  5. iBATIS用法之SqlMapTemplate内部类详解

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...