【发布时间】:2015-02-23 11:48:46
【问题描述】:
我是 Spring 新手,我尝试使用 PostgeSQL 使用 Spring jdbc,并在 JdbcTemplate.update() 的 DAO 类中获取 NullPointerException。内容如下:
pom.xml
<!-- Spring JDBC Support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.0.2.RELEASE</version>
</dependency>
<!-- postgreSQL Driver -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1200-jdbc41</version>
</dependency>
servlet-context.xml
<!-- declare datasource bean -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5432/notesHero" />
<property name="username" value="postgres" />
<property name="password" value="postgres" />
</bean>
DAOImpl 类
@Component
public class AdvertiseDAOImpl implements AdvertiseDAO
{
private JdbcTemplate template;
@Autowired
private DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
template = new JdbcTemplate(dataSource);
}
/*public AdvertiseDAOImpl(DataSource dataSource) {
template = new JdbcTemplate(dataSource);
}*/
@Override
public void save(Advertise ad) {
// TODO Auto-generated method stub
String insertQry = "INSERT INTO ad_master (name, email_id) values (?,?)";
System.out.println(ad.getName() + ad.getEmail());
template.update(insertQry, ad.getName(), ad.getEmail());
}
@Override
public void delete(long postId) {
// TODO Auto-generated method stub
}
@Override
public Advertise get(long postId) {
// TODO Auto-generated method stub
return null;
}
}
在这方面的任何帮助将不胜感激..
【问题讨论】:
标签: postgresql maven spring-jdbc