代码之家  ›  专栏  ›  技术社区  ›  daniel

spring boot Crudepository查询传递对象mysql

  •  0
  • daniel  · 技术社区  · 7 年前

    public interface UserRepository extends CrudRepository<User, Integer> {
    
    
    @Modifying
    @Transactional
    @Query(value = "INSERT INTO users(email, password, name) VALUES (?,?,?)", nativeQuery = true)
    void insertUserToUsers(String email, String password, String name);
    }
    

    我不想传递值,我想传递这样的用户对象:

    void insertUserToUsers(User user);
    
    3 回复  |  直到 7 年前
        1
  •  1
  •   Yurii Bondarenko    7 年前

    public interface UserRepository extends CrudRepository<User, Integer> {
    
    
    @Modifying
    @Transactional
    @Query(value = "INSERT INTO users(email, password, name) VALUES (:#{#user.email},:#{#user.firstname},:#{#user.name})", nativeQuery = true)
    void insertUserToUsers(@Param("user") User user);
    }
    
        2
  •  1
  •   avishka eranga    7 年前

    试试这个代码,

        @Modifying
    @Transactional
    @Query(value = "INSERT INTO users(email, password, name) VALUES (?,?,?)", nativeQuery = true)
    void insertUserToUsers(String email, String password, String name);
    
    default void insertUserToUsers(User user) {
        return insertUserToUsers(user.getEmail(), user.getPassword(), user.getName());
    }
    
        3
  •  0
  •   Abder KRIMA    7 年前

    你在哪里使用你的电脑 UserRepository user :

    前任:

    @Service
    public class MyService{
    
     @Autowired
     private UserRepository userRepository ;
    
     public void example(User user){
    
      userRepository.save(user)
    
     }
    }
    

    因为crudepository给了我们一些默认方法,所以您可以检查 here