[color=red]application.xml配置:[/color]
[color=red]sqlmap-config.xml配置:[/color]
[color=red]Test.xml配置:[/color]
[color=red]Test.java配置[/color]
[color=red]SqlMapTestDao.java配置[/color]
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<context:property-placeholder location="jdbc.properties"/>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:sqlmap-config.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="sqlMapTestDao" class="com.dao.SqlMapTestDao">
<property name="sqlMapClient" ref="sqlMapClient"></property>
</bean>
[color=red]sqlmap-config.xml配置:[/color]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings useStatementNamespaces="true"/>
<sqlMap resource="com/entity/Test.xml"/>
</sqlMapConfig>
[color=red]Test.xml配置:[/color]
<sqlMap namespace="Test">
<resultMap id="result" class="com.entity.Test">
<result property="test1" column="TEST1" columnIndex="1"/>
<result property="test2" column="TEST2" columnIndex="2"/>
</resultMap>
<select id="getTestByTest1" resultMap="result">
select TEST.TEST1, TEST.TEST2 from TEST where TEST.TEST1 = #value#
</select>
<insert id="insertTest">
insert into TEST (TEST1, TEST2) values (#test1#, #test2#)
</insert>
</sqlMap>
[color=red]Test.java配置[/color]
public class Test implements java.io.Serializable {
private String test1;
private String test2;
// 忽略getter和setter方法
}
[color=red]SqlMapTestDao.java配置[/color]
public class SqlMapTestDao extends SqlMapClientDaoSupport {
//方法一
public void getTestByTest1(String test1){
Test test = (Test)getSqlMapClientTemplate()
.queryForObject("getTestByTest1", test1);
System.out.println("test1:"+test.getTest1());
}
//方法二
public void insertAccount(Test test) throws DataAccessException {
getSqlMapClientTemplate().update("insertTest ", test);
}
//方法三
public void insertAccountTest(final Test test) throws DataAccessException {
getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
executor.update("insertAccount", test);
executor.update("insertAddress", test.getTest2());
return executor.executeBatch();
}
});
}
//执行方法
public static void main(String[] args) {
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
SqlMapTestDao dao = (SqlMapTestDao)factory.getBean("sqlMapTestDao");
dao.getTestByTest1("8");
}
}