1 继承JpaRepository
public interface UserRepository extends JpaRepository<User, Long>{
}
2 使用默认方法
@Test
public void testBaseQuery() throws Exception {
User user=new User()
userRepository.findAll()
userRepository.findOne(1l)
userRepository.save(user)
userRepository.delete(user)
userRepository.count()
userRepository.exists(1l)
// ...
}
需求新加了个bean修改的方法,因为不想使用公司的轮子,就自己写了个多参数动态提交的方法,项目的框架是EJB3+JPA,这里记录一下给需要用的人。
1.前端根据页面单个表单传递的数据和修改后的表单数据做对比,只将更改过的表单数据传递到后台中;
2.后台得到前端传递的数据,转型为map,根据map的key与value动态的交给JPA Query拼接sql并执行;
3.这里需要注意的是,因为是根据map中的key与value,所以前端传递的key需要与库中的bean表中的属性名称相同。
1.dao层
2.servlet里定义了好了json的格式,所以只对需要处理的数据进行处理就行了
3.soa前后台分离,所以前台js不是我写的,但是也学到一点东西,对于定义好的对象,是可以直接obj.prop = prop的,我一直以为是需要先定义属性再添加的。
-end-
你最好 只把SQL中的变量当成参数 ,不要把整个WHERE语句当参数。比如:你只把id和name当参数,就是他加上了引号也是可行的。
select * from media m where m.id=:id and m.name=:name
public List<Media>getMediaList(@Param("id") int id,@Param("name") String name)
而你把“where id =1 and name=z” 这一整句话当了参数,那估计是不可行的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)