怎么使用Spring注解及代理模式
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要讲解了"怎么使用Spring注解及代理模式",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用Spring注解及代理模式"吧!一.Spr
千家信息网最后更新 2025年01月31日怎么使用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安全错误
数据库的锁怎样保障安全
ssh管理数据库
sql查询关系数据库
遵化品牌软件开发创造辉煌
侦查学和网络安全执法哪个好
免费web服务器网站含羞草
永兴学计算机软件开发培训学校
网络安全法 反对
学习维护网络安全心得
服务器都有几个cpu
网络安全治理能力
数据库日志审计功能要求
网络安全监督工作思路
长兴软件开发项目管理
阿里云是服务器吗
wps如何删除掉重复数据库
ar软件开发用的笔记本
广州哪里有招聘软件开发的
软件开发螺旋模型工作过程
网络安全知识论文5000字
空中切换FMGC导航数据库
盐山软件开发
库乐队如何连服务器
不属于桌面数据库有哪些
常用 数据库 编程语言
一些临时服务器问题是什么情况
进入服务器ip
腾讯在华中地区没设服务器
汽车行业软件开发简历
上海力谱云软件开发
数据库 建索引