Spring中使用ibatis完整分析

Spring中使用ibatis完整分析

1. 首先看Spring中beans的配置:

1) <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close">

第一个bean作为配置连接数据库,设置DriverManager以及用户名密码

2) <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">

第二个bean就是选择SqlMapClient,并且填写该xml的路径:

XmlSqlMapClientBuilder xmlBuilder =new XmlSqlMapClientBuilder();

SqlMapClient sqlMap = xmlBuilder.buildSqlMap(reader);

3) <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">

<property name="sqlMapClient">

            <ref bean="sqlMapClient" />

 </property>

 </bean>

第三个bean,SqlMapClientTemplate是SqlMapClient的封装类.
SqlMapClient中包含着session的管理.
SqlMapClientTemplate用于session的封装,以及异常的捕捉.
所以按照以上的推断来说.应该尽量使用SqlMapClientTemplate.
保证session以及Exception的正常以及统一.

2. 然后就是SqlMapClient的配置:

<sqlMap resource="sql/gpsData_sqlmap_mapping.xml"/>

配置gpsData类与数据库的对应关系

3. 这两个xml文件配置好以后就可以在自己的DAO类中写相应的增删改查方法了。

public class IbatisGpsDataDao extends BaseDao implements GpsDataDao{

}

    该类集成了BaseDao类,BaseDao提供了SqlMapClientTemplate的对象操作,该对象正是在Spring beans中配置的。通过获得这个SqlMapClientTemplate,进行增删改查的操作。

例如下面的insert方法:

public long insertGpsDataDo(GpsDataDo gpsdata) {

if(gpsdata == null){

throw new IllegalArgumentException();

}

return (Long) getSqlMapClientTemplate().insert("GpsData.insertGpsData",gpsdata);

}

你可能感兴趣的:(Spring中使用ibatis完整分析)