BaseDao中 设置JdbcTemplate 属性 。
首先看下BaseDao的java代码
/* */ import java.io.Serializable;
/* */ import java.util.List;
/* */ import java.util.Map;
/* */ import javax.sql.DataSource;
/* */ import org.springframework.jdbc.core.JdbcTemplate;
/* */
/* */ public abstract class BaseDao
/* */ implements Serializable
/* */ {
/* */ protected DataSource dataSource;
/* */ protected JdbcTemplate jt;
/* */
/* */ public Object fetchObject(List list, int row, String fieldName)
/* */ {
/* 27 */ int n = list.size();
/* 28 */ if ((n < 1) || (row >= n))
/* 29 */ return null;
/* 30 */ Map map = (Map)list.get(row);
/* 31 */ return ((map == null) ? null : map.get(fieldName));
/* */ }
/* */
/* */ public Object fetchObject(List list, String fieldName)
/* */ {
/* 36 */ return fetchObject(list, 0, fieldName);
/* */ }
/* */
/* */ public DataSource getDataSource()
/* */ {
/* 41 */ return this.dataSource;
/* */ }
/* */
/* */ public JdbcTemplate getJt()
/* */ {
/* 50 */ return this.jt;
/* */ }
/* */
/* */ public void setDataSource(DataSource dataSource)
/* */ {
/* 55 */ this.dataSource = dataSource;
/* 56 */ this.jt = new JDBCTemplate(this.dataSource);
/* */ }
/* */ }
然后看下在spring配置文件中如何配置BaseDao
<bean id="baseDao" class="com.nn.BaseDao"> <property name="dataSource"> <ref bean="dataSource.mm" /> </property> </bean>
下面看使用jdbcTemplate的java类如何书写:
public class BizCaseManagerImpl extends BaseDao{
/**
* 放款前检查合同是否设置好合同属性 zm
* @param bid
* @return true:设置完毕 false:未设置或没有设置完整
*/
public boolean checkPropSet(int bid){
StringBuffer sql = new StringBuffer();
sql.append(" select * from table(IS_SETACCOUNT( ")
.append(bid)
.append("))");
List list = oraNativeSQL.getJdbcTemplate().query(sql.toString(),new RowMapper(){
public Object mapRow(ResultSet rs, int arg1) throws SQLException {
Integer num = new Integer(rs.getInt(1));
return num;
}
});
Integer i = (Integer)list.get(0);
if(i.intValue() >0){
return true;
}
return false;
}
}
需要使用JdbcTemplate 可通过两种方式使用。
方法1:
applicationContext.xml配置文件
<bean id="nativesql"
class="com.fbms.server.BizCaseManagerImpl">
<property name="dataSource">
<ref local="dataSource.mm" />
</property>
</bean>
方法2:
<bean id="nativesql" class="com.fbms.server.BizCaseManagerImpl" parent="baseDao"></bean>