简体   繁体   中英

Spring boot CrudRepository mysql

Hi I am trying to use crudRepository but i get a error java.lang.nullPointer Exception

I have the User class :

@Entity
@Table(name="Utilisateur")
public class User {

    @Id
    private long id;
    @Column(name="nom")
    private String nom;
    @Column(name="prenom")
    private String prenom;
    @Column(name="admin")
    private boolean admin;
    @Column(name="actif")
    private boolean actif;
    @Column(name="logins")
    private String logins;
    @Column(name="email")
    private String email;
    @Column(name="naissance")
    private String naissance;
    @Column(name="pwd")
    private String pwd;
    @Column(name="compte")
    private String compte;

    public User(){

    }

    public User(String nom, String prenom, boolean admin, boolean actif, String logins, String email, String naissance, String pwd, String compte) {
        this.nom = nom;
        this.prenom = prenom;
        this.admin = admin;
        this.actif = actif;
        this.logins = logins;
        this.email = email;
        this.naissance = naissance;
        this.pwd = pwd;
        this.compte = compte;
    }

After i have my interface she extend the interface CrudRepository

@Repository public interface UserDao  extends CrudRepository<User,Long>{


    public User findByEmail(String email);


}

after i have my class User controller :

@RestController
public class UserController {

    private UserDao userDao ;

    @RequestMapping(
        value="/api/greetings/post",
            method = RequestMethod.POST,
            consumes = MediaType.APPLICATION_JSON_VALUE,
            produces=MediaType.APPLICATION_JSON_VALUE
    )
    public ResponseEntity<User> getByEmail(@RequestBody User user){
        String userId;
        String login;
        User user1=null;
        try{

            user1 = userDao.findByEmail(user.getEmail());
            if(user1==null){
                return new ResponseEntity<User>(HttpStatus.INTERNAL_SERVER_ERROR);
            }
            userId = String.valueOf(user1.getId());
            login=user1.getLogins();

        }catch(Exception ex){
            return new ResponseEntity<User>(HttpStatus.INTERNAL_SERVER_ERROR);
        }
        return new ResponseEntity<User>(user1, HttpStatus.OK);

    }
}

For test i am using postman for make the post query, In function I get the object, is not a rest problem.

Thank you

You need to Autowire your userDao property.

@Autowire private UserDao userDao;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM