[英]spring boot CrudRepository query passing object mysql
我有以下代码:
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);
尝试这个
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);
}
试试这个代码,
@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());
}
在使用UserRepository
,可以使用默认方法保存user
:
例如:
@Service
public class MyService{
@Autowired
private UserRepository userRepository ;
public void example(User user){
userRepository.save(user)
}
}
由于CrudRepository提供了一些默认方法,因此您可以在此处进行检查
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.