当前位置: 首页 > news >正文

百度智能云建站江西吉安建设监督网站

百度智能云建站,江西吉安建设监督网站,合肥网站建设久飞,wordpress读取相册Spring Data非常方便#xff0c;并且避免了样板代码#xff0c;从而加快了开发速度。 但是#xff0c;在某些情况下#xff0c;注释查询不足以实现您可能想要实现的自定义功能。 因此#xff0c;spring数据允许我们向Spring数据存储库添加自定义方法。 我将使用前一篇博客… Spring Data非常方便并且避免了样板代码从而加快了开发速度。 但是在某些情况下注释查询不足以实现您可能想要实现的自定义功能。 因此spring数据允许我们向Spring数据存储库添加自定义方法。 我将使用前一篇博客文章中的相同项目结构。 我们有一个名为Employee的实体 package com.gkatzioura.springdata.jpa.persistence.entity;import javax.persistence.*;/*** Created by gkatzioura on 6/2/16.*/ Entity Table(name employee, schemaspring_data_jpa_example) public class Employee {IdColumn(name id)GeneratedValue(strategy GenerationType.SEQUENCE)private Long id;Column(name firstname)private String firstName;Column(name lastname)private String lastname;Column(name email)private String email;Column(name age)private Integer age;Column(name salary)private Integer salary;public Long getId() {return id;}public void setId(Long id) {this.id id;}public String getFirstName() {return firstName;}public void setFirstName(String firstName) {this.firstName firstName;}public String getLastname() {return lastname;}public void setLastname(String lastname) {this.lastname lastname;}public String getEmail() {return email;}public void setEmail(String email) {this.email email;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}public Integer getSalary() {return salary;}public void setSalary(Integer salary) {this.salary salary;} } 还有Spring Data存储库 package com.gkatzioura.springdata.jpa.persistence.repository;import com.gkatzioura.springdata.jpa.persistence.entity.Employee; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;/*** Created by gkatzioura on 6/2/16.*/ Repository public interface EmployeeRepository extends JpaRepositoryEmployee,Long{} 假设我们要添加一些自定义的sql功能例如使用LIKE语句查询并与未映射为实体的表联接。 这仅用于演示目的。 对于您的项目您可能会有更好的架构。 再加上spring数据具有类似语句的开箱即用功能请查看EndingWithContainingStartingWith 。 我们将创建奖金表并添加对雇员表的引用。 set schema spring_data_jpa_example;create table bonus(id serial primary key,employee_id integer,amount real,foreign key (employee_id) references employee (id),unique (employee_id));insert into bonus ( employee_id, amount) VALUES(1, 100); 我们要实现的sql查询将查询名称以指定文本开头且奖金大于一定数量的员工。 在jdbc中我们必须传递与字符串联在一起的变量。 所以我们需要一个像这样的本地jpa查询 Query query entityManager.createNativeQuery(select e.* from spring_data_jpa_example.bonus b, spring_data_jpa_example.employee e\n where e.id b.employee_id and e.firstname LIKE ? and b.amount ? , Employee.class);query.setParameter(1, firstName %);query.setParameter(2, bonusAmount); 为了将此功能添加到我们的spring数据存储库中我们必须添加一个接口。 我们的界面必须遵循$ {Original Repository name} Custom的命名约定。 因此描述我们自定义功能的界面应为 package com.gkatzioura.springdata.jpa.persistence.repository;import com.gkatzioura.springdata.jpa.persistence.entity.Employee;import java.util.List;/*** Created by gkatzioura on 6/3/16.*/ public interface EmployeeRepositoryCustom {ListEmployee getFirstNamesLikeAndBonusBigger(String firstName, Double bonusAmount);} 实施应该是 package com.gkatzioura.springdata.jpa.persistence.repository;import com.gkatzioura.springdata.jpa.persistence.entity.Employee; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional;import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import java.util.List;/*** Created by gkatzioura on 6/3/16.*/ Repository Transactional(readOnly true) public class EmployeeRepositoryImpl implements EmployeeRepositoryCustom {PersistenceContextEntityManager entityManager;Overridepublic ListEmployee getFirstNamesLikeAndBonusBigger(String firstName, Double bonusAmount) {Query query entityManager.createNativeQuery(select e.* from spring_data_jpa_example.bonus b, spring_data_jpa_example.employee e\n where e.id b.employee_id and e.firstname LIKE ? and b.amount ? , Employee.class);query.setParameter(1, firstName %);query.setParameter(2, bonusAmount);return query.getResultList();} } 并且我们应该更改原始的spring数据存储库以继承自定义功能。 package com.gkatzioura.springdata.jpa.persistence.repository;import com.gkatzioura.springdata.jpa.persistence.entity.Employee; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository;/*** Created by gkatzioura on 6/2/16.*/ Repository public interface EmployeeRepository extends JpaRepositoryEmployee,Long, EmployeeRepositoryCustom { } 似乎是一种不错的构图方式。 现在让我们向控制器添加一个方法该方法将调用此自定义方法 package com.gkatzioura.springdata.jpa.controller;import com.gkatzioura.springdata.jpa.persistence.entity.Employee;import com.gkatzioura.springdata.jpa.persistence.repository.EmployeeRepository;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** Created by gkatzioura on 6/2/16.*/ RestController public class TestController {Autowiredprivate EmployeeRepository employeeRepository;RequestMapping(/employee)public ListEmployee getTest() {return employeeRepository.findAll();}RequestMapping(/employee/filter)public ListEmployee getFiltered(String firstName,RequestParam(defaultValue 0) Double bonusAmount) {return employeeRepository.getFirstNamesLikeAndBonusBigger(firstName,bonusAmount);}} 源代码可以在github上找到。 翻译自: https://www.javacodegeeks.com/2016/06/add-custom-functionality-spring-data-repository.html
http://www.pierceye.com/news/111976/

相关文章:

  • 杭州 高端网站建设wordpress 不显示ip
  • 校考前做试题的网站池州哪里有做网站
  • 四合一小说网站搭建教程WordPress主题资源
  • 网站制作com台州网站哪家专业
  • 网站怎么上百度阿里云网站建设
  • 全国最大的网站建设公司肇庆网络推广
  • 网站做301跳转需解析设计用哪些网站有哪些功能
  • 如何将网站添加到信任站点手机价格
  • 做网站显示上次登录时间代码深圳有哪些招聘网站
  • 网站开发可选择的方案页面设计说明
  • 手机付费咨询网站建设网站正能量免费推广软件晚上
  • 网站群建设技术规范seo收索引擎优化
  • 西安网站托管维护百度首页广告
  • 洛龙区网站设计建设免费网页小游戏
  • 建设摩托125图片大全优化大师怎么删除学生
  • 郑州哪家公司给国外做网站闵行网站推广
  • 微网站 开发提供坪山网站建设
  • 狗狗和人做网站centos6搭建wordpress
  • 培训教育学校的网站建设方案vx小程序怎么制作
  • 泉州网站建设优化公司酒店网络营销推广方案
  • 重庆潼南网站建设公司电话crm客户关系管理平台
  • 怎么做可以访问网站连接加密东莞++网站建设
  • 企业网站的建设与流程数据分析师要学什么课程
  • 重庆营销型网站随做的好谷歌广告投放教程
  • 个人公众号做网站广州市车管所网站建设
  • 上海网站建设公司排名王也诸葛青cp
  • 常用的设计网站有哪些wordpress如何汉化主题
  • 深圳全网营销型网站免费做调查的网站有哪些
  • 设计素材网站知乎济南seo网站推广
  • 网站建设类岗位杭州国家电网 两学一做 网站