我想插入一些值到我的表中,我不斷收到一個空指針異常。我首先想到這是因爲有些值是空的,但即使是從不爲零的值也會給我NPE。JDBCTemplate提供空指針異常?
這裏是我的TwitterJDBCTemplate:
@Service
public class TwitterJDBCTemplate {
@Autowired
private DataSource dataSource;
private JdbcTemplate jdbcTemplateObject;
public void storeTweet(long id, long user_id, String created_at, String language, String message, String searchterm,
String user_description, String user_location, String user_pic, String user_screenname, String username) {
String SQL = "insert into tweets (id, user_id, created_at, language,"
+ "message, searchterm, user_description, user_location, user_pic,"
+ "user_screenname, username) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
jdbcTemplateObject.update(SQL, new Object[] { id, user_id, created_at, language, message, searchterm,
user_description, user_location, user_pic, user_screenname, username });
}
這是我主要的應用程序:
@SpringBootApplication
@EnableScheduling
public class TwitterApp {
public static void main(String[] args) {
// TODO Auto-generated method stub
SpringApplication.run(TwitterApp.class, args);
}
}
我application.properties文件:
server.port: 9040
management.port: 9041
management.address: 127.0.0.1
spring.datasource.url=jdbc:mysql://localhost:3306/twitter
spring.datasource.username=root
spring.datasource.password=********
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.show-sql=false
spring.jpa.hibernate.ddl-auto=create
裏面我TweetController的:
@RestController
@Scope("singleton")
public class TweetController {
@Autowired
TwitterJDBCTemplate template;
顯示完整的堆棧跟蹤(編輯問題,請不要在評論顯示)。 – Andreas
在您的TwitterJDBCTemplate中,您既未初始化jdbcTemplateObject字段,也沒有Autowired註釋。 – dunni