Я делаю простую программу, чтобы добавить строку в базу данных, используя jdbc и весну в проекте maven. Я сделал проект, просматривая видео, поскольку я новичок в Spring и базе данных.
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.mariam.employee;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.core.namedparam.SqlParameterSource;
import org.springframework.stereotype.Repository;
/**
*
* @author shoaib kiani
*/
@Repository
public class EmployeeDaoImpl implements EmployeeDao{
NamedParameterJdbcTemplate namedPJT;
JdbcTemplate jt;
public SqlParameterSource getSqlP(Employee e)
{
MapSqlParameterSource m=new MapSqlParameterSource();
m.addValue("id", e.getID());
m.addValue("FirstName",e.getFirstName());
m.addValue("LastName",e.getLastName());
return m;}
@Override
public void save(Employee e) {
final String sql="INSERT INTO authors('FirstName','LastName') VALUE(?,? )";
namedPJT.update(sql , getSqlP(e));
System.out.println("Passed");
}
}
Это исключение:
Exception in thread "main" java.lang.NullPointerException
at com.mariam.employee.EmployeeDaoImpl.save(EmployeeDaoImpl.java:38)
at com.mariam.employee.Main.main(Main.java:22)
Измените эти строки:
NamedParameterJdbcTemplate namedPJT;
JdbcTemplate jt;
К этому:
@Autowired
NamedParameterJdbcTemplate namedPJT;
@Autowired
JdbcTemplate jt;
namedPJT
являетсяnull
.