怎么使用Spring注解及代理模式
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要讲解了"怎么使用Spring注解及代理模式",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Spring注解及代理模式"吧!一.Spr
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
金山区网络技术转让咨询热线
管理虚拟服务器的软件下载
彩票软件开发原理
重庆金典网络技术工作室
电脑格式化还用卸载数据库吗
软件开发如何选择电脑
网络安全攻防课程大纲
超密集网络技术的不足
服务器上的数据被删掉能恢复吗
惠普服务器保修查询码是哪个
网络安全防护主流方案
上汽通用汽车邮箱服务器
服务器24小时挂机
如何改数据库密码
如何删除数据库账户
网络技术最新报告
亿意互联网信息科技有限公司
生存服务器推荐手机版国际版
邯郸正规软件开发
网络技术的优点和 缺点
农安县热门的计算机网络技术
福州软件开发定制费用
网络安全答题答案公众号
绝地求生2怎么进入不了服务器
获取ios 沙盒数据库
对象存储数据库
数据库系统由哪些组成
rpc打印机服务器不可用
uc文件服务器在哪里
西安最大的软件开发公司