spring-data-jpa实现增删改查以及分页操作方法
程序员文章站
2022-06-11 12:07:50
有几个坑一定要注意:
实现删除操作的时候一定要在各层类中 增加
@transactional
注释,否则会一直报错
在自己使用@query定义操作时,会...
有几个坑一定要注意:
实现删除操作的时候一定要在各层类中 增加
@transactional
注释,否则会一直报错
在自己使用@query定义操作时,会碰到编译器报错,这个时候只需要禁用ql的语法检查即可
以下是部分代码:
//repository
package com.example.myproject.dao; import com.example.myproject.domain.user; import org.springframework.data.domain.page; import org.springframework.data.domain.pageable; import org.springframework.data.jpa.repository.jparepository; import org.springframework.data.jpa.repository.modifying; import org.springframework.data.jpa.repository.query; import org.springframework.data.repository.query.param; import javax.transaction.transactional; import java.util.list; /** * created by lenovo on 2017/4/19. */ @transactional public interface userrepository extends jparepository<user,long> { void deletebyid(int id); void deletebyname(string name); void deletebysex(string sex); void deletebyage(int age); void removebynameandage(string name, int age); @modifying @query(value = "update user u set u.name = :newname where u.name = :oldname",nativequery = true) void updatenamebyname(@param("oldname") string oldname, @param("newname") string newname); list<user> findall(); page<user> findall(pageable pageable); list<user> findbyname(string name); list<user> findbysex(string sex); list<user> findbyage(int age); user findbynameandsex(string name, string sex); }
//controller
package com.example.myproject.web; import com.example.myproject.dao.userrepository; import com.example.myproject.domain.user; import org.springframework.beans.factory.annotation.autowired; import org.springframework.data.domain.page; import org.springframework.data.domain.pagerequest; import org.springframework.data.domain.pageable; import org.springframework.data.domain.sort; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestparam; import org.springframework.web.bind.annotation.restcontroller; import javax.transaction.transactional; import java.util.list; /** * created by lenovo on 2017/4/19. */ @restcontroller @requestmapping("/") @transactional public class usercontroller { @autowired private userrepository userrepository; @requestmapping(value = "/usersave") public string usersave(@requestparam string name,@requestparam string sex,@requestparam int age) { user user = new user(); user.setname(name); user.setage(age); user.setsex(sex); userrepository.save(user); return "true"; } @requestmapping(value = "/deletebyid") public string deletebyid(@requestparam int id) { userrepository.deletebyid(id); return "success"; } @requestmapping(value = "/deletebyname") public string deletebyname(@requestparam string name) { userrepository.deletebyname(name); return "success"; } @requestmapping(value = "/deletebysex") public string deletebysex(@requestparam string sex) { userrepository.deletebysex(sex); return "success"; } @requestmapping(value = "/deletebyage") public string deletebyage(@requestparam int age) { userrepository.deletebyage(age); return "success"; } @requestmapping(value = "/deletebynameandage") public string deletebynameandage(@requestparam string name, @requestparam int age) { userrepository.removebynameandage(name,age); return "success"; } @requestmapping(value = "/updatenamebyname") public string updatenamebyname(@requestparam string oldname, @requestparam string newname) { userrepository.updatenamebyname(oldname,newname); return "success"; } @requestmapping(value = "/findall") public list<user> findall() { list<user> l =userrepository.findall(); return l; } @requestmapping(value = "/findallbypage") public page<user> findallbypage() { sort sort = new sort(sort.direction.asc,"id"); pageable pageable = new pagerequest(2,6,sort); page<user> page = userrepository.findall(pageable); return page; } @requestmapping(value = "/findbyname") public list<user> findbyname(@requestparam string name) { list<user> list =userrepository.findbyname(name); return list; } @requestmapping(value = "/findbyage") public list<user> findbyage(@requestparam int age) { list<user> list =userrepository.findbyage(age); return list; } @requestmapping(value = "/findbysex") public list<user> findbysex(@requestparam string sex) { list<user> list =userrepository.findbysex(sex); return list; } @requestmapping(value = "/findbynameandsex") public user findbynameandsex(@requestparam string name, @requestparam string sex) { user list =userrepository.findbynameandsex(name,sex); return list; } }
//user
package com.example.myproject.domain; import javax.persistence.*; /** * created by lenovo on 2017/4/19. */ @entity public class user { @id @generatedvalue() private integer id; @column private string name; @column private string sex; @column private int age; public integer getid() { return id; } public string getname() { return name; } public void setname(string name) { this.name = name; } public string getsex() { return sex; } public void setsex(string sex) { this.sex = sex; } public int getage() { return age; } public void setage(int age) { this.age = age; } }
以上这篇spring-data-jpa实现增删改查以及分页操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: 关于茶叶与黄曲霉毒素你知道多少呢
下一篇: java处理字节的常用工具类