此 spring 数据查询无效
This spring data query is not working
这是我的 UserRepository 和一个查找函数
@Repository
public interface UserRepository extends CrudRepository<JPA_Users, Long> {
List<JPA_Users> findByName(String Name);
}
然后在其中一个控制器函数中,我尝试按如下方式访问此查找函数
@RequestMapping(value = "/jpadata1", method = RequestMethod.GET)
public String jpadata1(ModelMap map) {
UserRepository repository;
ApplicationContext context = new ClassPathXmlApplicationContext("beans1.xml");
repository = context.getBean(UserRepository.class);
Iterable usrs = repository.findByName("shahzad");
}
数据库中有一个名为 name 的列,我有多个记录的值为 shahzad 我期望所有这些记录都是 return 但是这个函数 returns nothing no records are return
沙赫扎德
ApplicationContext context = new ClassPathXmlApplicationContext("beans1.xml");
repository = context.getBean(UserRepository.class);
您正在为每个请求创建一个新的上下文,这是一个非常错误的策略。
作为第一个更正,不要在你的控制器中创建一个新的上下文,你应该使用依赖注入。
@Autorwired
private UserRepository userRepository;
@RequestMapping(value = "/jpadata1", method = RequestMethod.GET)
public String jpadata1(ModelMap map) {
Iterable usrs = userRepository.findByName("shahzad");
}
转到 JPA_Users class 如果您使用的是 eclipse as ide 然后键入大纲并检查字段 name/Name[=24= 的 getter 值 是什么] 你在 pojo 里有什么 class.
在 Repository 层中也尝试下面的注释:
org.springframework.transaction.annotation.Transactional
@Transactional
同时检查你的 pojo class primary id 是否为 Long 类型。
这是我的 UserRepository 和一个查找函数
@Repository
public interface UserRepository extends CrudRepository<JPA_Users, Long> {
List<JPA_Users> findByName(String Name);
}
然后在其中一个控制器函数中,我尝试按如下方式访问此查找函数
@RequestMapping(value = "/jpadata1", method = RequestMethod.GET)
public String jpadata1(ModelMap map) {
UserRepository repository;
ApplicationContext context = new ClassPathXmlApplicationContext("beans1.xml");
repository = context.getBean(UserRepository.class);
Iterable usrs = repository.findByName("shahzad");
}
数据库中有一个名为 name 的列,我有多个记录的值为 shahzad 我期望所有这些记录都是 return 但是这个函数 returns nothing no records are return
沙赫扎德
ApplicationContext context = new ClassPathXmlApplicationContext("beans1.xml");
repository = context.getBean(UserRepository.class);
您正在为每个请求创建一个新的上下文,这是一个非常错误的策略。
作为第一个更正,不要在你的控制器中创建一个新的上下文,你应该使用依赖注入。
@Autorwired
private UserRepository userRepository;
@RequestMapping(value = "/jpadata1", method = RequestMethod.GET)
public String jpadata1(ModelMap map) {
Iterable usrs = userRepository.findByName("shahzad");
}
转到 JPA_Users class 如果您使用的是 eclipse as ide 然后键入大纲并检查字段 name/Name[=24= 的 getter 值 是什么] 你在 pojo 里有什么 class.
在 Repository 层中也尝试下面的注释:
org.springframework.transaction.annotation.Transactional
@Transactional
同时检查你的 pojo class primary id 是否为 Long 类型。