怎么使用Spring注解及代理模式
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"怎么使用Spring注解及代理模式",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Spring注解及代理模式"吧!一.Spr
千家信息网最后更新 2026年11月03日怎么使用Spring注解及代理模式
这篇文章主要讲解了"怎么使用Spring注解及代理模式",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Spring注解及代理模式"吧!
一.SpringDataJpa
1.pom.xml配置
- 1.基本的SSJ的导入 - 2.SpringDataJpa
org.springframework.data spring-data-jpa ${spring-data-jpa.version}
2.SpringDataJpa基本配置
1.配置对应的Spring-data-jpa
2.继承JpaRepository interface EmployeeRepository extends JpaRepository
3.完成相应的CRUD
employeeRepository.findAll(); employeeRepository.findOne(Long id); employeeRepository.save(对象); //添加或者修改 employeeRepository.delete(id/对象); employeeRepository.findAll(Pageable) -> 分页 Pageable pageable = new PageRequest(0, 5); //0就是第一页 employeeRepository.findAll(Sort) -> 排序 Sort sort = new Sort(Sort.Direction.DESC,"username"); 如果要把分页和排序结合起来: new PageRequest(0, 5,sort);
3.高级查询
1.名称规则 findByUsername(String username) -> 根据名称查询 username = ? findByUsernameLike(String username) -> username like ? findByUsernameLikeAndEmailLike(String username,String email) -> username like ? and email like ? 详细规则请看文件(idea也有提示) 2.Query注解 @Query("jpql的语句") @Query("select o from Employee o where o.name like ?1") //@Query("select o from Employee o where o.name like :name") @Query(nativeQuery = true,value="select * from employee")二.高级查询与分页
1.JpaSpecificationExecutor
可以不写SQL也能够完成功能
1.我们的Repository继承JpaSpecificationExecutorEmployeeRepository extends JpaRepository, JpaSpecificationExecutor 2.findAll的查询方法 employeeRepository.findAll(Specification spec) employeeRepository.findAll(Specification spec,Pageable pageable) new Specification { //root:(根,表)获取字段 //query:where,group by ,order by... //cb: 条件判断(一个或者多个) @Override public Predicate toPredicate(Root root, CriteriaQuery> query, CriteriaBuilder cb) { Path path = root.get("username");//拿到要做查询的字段 Predicate p = cb.like(path, "%1%");//like代表做模糊查询,后面就是它的条件值 return p; } }
2.jpa-spec
//第一个参数: true -> 条件过滤启用//第二个参数: 需要过滤的属性//第三个参数: 过滤条件的 ?对应的值Specification com.github.wenhao jpa-spec 3.1.0 specification = Specifications. and() .eq(StringUtils.isNotBlank(request.getName()), "name", name) .gt(Objects.nonNull(request.getAge()), "age", 18) .build();
3.Query的抽取
Query作用:接收前台传过来的查询条件(分页,数据)BaseQuery:公共的查询【规范,公共的代码】 int currentPage=1; getJpaPage{return currentPage-1} int pageSize=10; String orderName; Boolean orderType=true; 提供getter,setter方法 //规定子类必需提供一个拿到条件的方法 protected abstract Specification createSpec(); //提供获取排序的方法 Sort createSort(){ //1.如果orderName没有值,就返回null【不排序】 //2.如果orderType是DESC,就升级(反之就降序) }EmployeeQuery:Employee单独的查询 username,email,age,... Specification createSpec(){...}感谢各位的阅读,以上就是"怎么使用Spring注解及代理模式"的内容了,经过本文的学习后,相信大家对怎么使用Spring注解及代理模式这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
查询
条件
注解
模式
代理
方法
排序
参数
就是
学习
配置
高级
内容
名称
字段
对象
规则
三个
代码
代表
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
湖南永感互联网科技有限公司
美国互联网保险保险科技
涨乐互联网科技
金融科技还是互联网
互联网与新科技
成都互联网科技公司
九亚互联网科技
互联网实体化科技化
宁波青枫互联网科技有限公司
以后互联网后是啥科技
互联网科技教育视频
华夏互联网科技业
晓花互联网科技有限公司网址
宜昌元轩互联网科技有限公司
梅州GM互联网络科技有限公司
有人说阿里系是互联网科技企业
互联网与数字科技关系
山东大美朱楼互联网科技有限公司
艺电能源互联网科技有限公司招聘
数字互联网科技有限公司
中国互联网科技股
互联网科技垄断
北京互联网科技有限公司
互联网未来科技
河南猎农互联网科技有限公司
如何创新互联网科技
山东有哪些互联网科技公司
35岁以上互联网科技行业
山东蛋芒互联网科技有限公司
小牛互联网科技有限公司地址