81,091
社区成员
发帖
与我相关
我的任务
分享
<bean name="ekp_db" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:mysql://localhost:3306/ekp_rpt?characterEncoding=utf-8</value>
</property>
<property name="user">
<value>root</value>
</property>
<property name="password">
<value>admin</value>
</property>
<property name="minPoolSize" value="10"/>
<property name="maxPoolSize" value="20"/>
<property name="maxIdleTime" value="3600" />
</bean>
<bean name="jdbcTemelate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="ekp_db"></property>
</bean>
<bean name="ekpDAO" class="com.kingsoft.ksc.dc.cube.dao.EpkDAO">
<property name="jdbcTemplate" ref="jdbcTemelate"></property>
</bean>
,JAVA代码@Repository
public class EpkDAO {
private JdbcTemplate jdbcTemplate ;
private static final String FIND_BY_NAME = "SELECT id, userid, name, address, phone, fax, email, corporation, contact, ctime, mtime,discard FROM EkpDomain WHERE name LIKE ?";
public List<Map<String ,Object>> findCompaniesByName(String namePart){
if(jdbcTemplate == null)
System.out.println(" jdbctemplete is null ");
//return jdbcTemplate.queryForList(FIND_BY_NAME, "%"+namePart+"%");
return null;
}
public JdbcTemplate getJdbcTemplate(){
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate){
this.jdbcTemplate = jdbcTemplate;
}
}
,service层中,DAO是@AutoWired的,启动不报任何错误,但是运行时就是出现空指针异常,jdbctemplate为null,跪求解<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="myDataSource"></constructor-arg>
</bean>
JdbcTemplate 的初始化需要 DataSource,你应该这样传给它。