当前课程知识点:软件开发实训--动态网站开发 > 11 内容管理实现 > 11.3服务接口实现 > 11.3.1服务接口实现
同学
你好
欢迎回到软件开发实训课堂
上节课咱们对于内容的相关接口进行了
定义
对于JPA的数据访问
我们是不需要自己去实现它的接口
但是对于服务层的接口还需要我们自己来实现
implements content survice
实现他所有的方法
注意加上注解
service
要不然的话会报错
他一定要用到数据访问
所以我们提前把autowired
都拿进来
content repository
好
现在我们一个一个来实现它
先把它简单地实现了
点
save
这是一个删除
它也带有实体的删除
所以我们直接调用它的delete就可以了
通过ID删除
delete by ID
删除多个
这里用delete
然后加上我们的transacational
失误处理
保证数据的完整性
只要对数据库的改变超过了一条
一定要加上这样一个失误处理
保证数据完整性
find by ID这个得到的是一个optional
这样的对象
然后我们去判断oc导入类才能够弹出来
第二
ispresent有就把它返回来
没有
直接返回一个空就可以了
最后是搜索
搜索我们返回一个分页
这里面我们直接调用它的搜索方法
用
第二个
带有分页
且能修改他的条件
new specification
content
这个呢
我们先倒入我们需要的类倒完以后我们来
实现我们的方法
在实现之前我们先来做一个排序
说如果pageabel
getsort
如果没有排序
我们就让它排序先
page request.of
来生成我们的代排序的内容
pageable.
get page number
这是得到哪一页页号
pageable.getpage size
一页里边你要显示多少内容
只是把原来的拿出来
重新创建了一个然后sort.
by cid
我们排序用的是sort
不能用错
让他逆序排列
这样子我们重新创建一个pageable对象
然后我们实现接口来实现它
好
这里边给我们生成了方法
topredicate
这个root就相当于查询的from
然后query呢就查询整个查询语句
标准查询build
这是一个创建器
我们用它来修改我们的while条件
好
我们来看一下
首先我们得到predicate
这个是得到与关系
然后pridicate
得到或关系
我们重新命名
这叫或关系
这样我们把与关系放在P里边
把或关系放在B里边
到最后我们把它两个进行合并
如果B点get express
它的size是大于零的
我们就把它合并到与关系里去
最后我们直接把与关系返回去就可以了
那么在这里面我们用到了search
我们首先来看说如果
search get key Word
不等于空
并且也不等于双引号空
也就是空串
search.get key word
这里加一个非要注意
它是不空不为空的情况下
我们就去创建我们的表达式
我们这里先创建CB.
我们要获得它
我们可以用就是说like来判断它是否
相等
这个like首先是获取我们的属性
我们是title
可以去来的
他作为什么类型呢
它是一个string类型
然后它的值呢就是我们的key word
我们把key word的给他改一下
用百分号把它绕起来做模糊查询
好
tw
然后我们把它加到我们的或关系里面去
get express.add a1
这是一个
第二个我们在内容里面去查找
content
a2把它也放到或关系里面
如果说我们的时间search.
get sdate
不等于空
我们直接把时间也给他加上
这个时间的比对也是一样的
我们这里需要用equal
发布的时间是cdate
这个字段一定要正确
如果忘记了
可以去查看一下
cdate
我们就用发布时间来进行查询
它的类是local date
而它的值是search.get sdate
对日期来讲
我们说只用等只能查一天
如果说他只填了这一天的时间
我们可以让它开始时间是大于等于
所以我们可以用
大于或者等于
这个条件
我们把这个条件加到与的关系里面去
而对于结束时间
如果他不等空的话
我们也可以执行相对应的操作
只不过这一次我们用的是edate
类是一样的
字段是一样的
而这里不同
我们是小于等于条件
所以是less
这样就可以了
这样我们把开始时间结束时间都给它
加进去了
最后我们把实际两个条件也合并了
把或关系与与关系合并返回整个关系
整个关系在与里边存着
这是
如果结束时间存在添加结束时间条件
这是添加
如果开始时间存在添加开始时间条件
而上面就是我们的模糊查询
用关键字模糊查询
查询的字段包括了字段
包括title和content
你当然也可以对其他的字段进行
模糊查询
都可以加到这个位置来
这里我们只是用title和content
做了两个事例
好
这样我们的模糊查询这个方法就实现完成了
好有关内容的 以及它的服务层
我们就实现到这里
好
关于服务层的实现我们就讲到这里
下节课再见
-1.1课程介绍
--1.1.3随堂测试
-1.2网站需求分析
--1.2.4随堂测试
-1.3网站首页分析
--1.3.3随堂测试
-1.4导航菜单分析
--1.4.3随堂测试
-1.5内容区域分析
--1.5.3随堂测试
-1.6内容副页面分析
-1.7编写需求文档
-2.1后端页面总体分析
--2.1.3随堂测试
-2.2用户管理功能设计
--2.2.3随堂测试
-2.3内容与分类功能分析
--2.3.3随堂测试
-2.4网站配置功能设计
--2.4.4随堂测试
-2.5数据库及表结构分析
-总体设计文档
-3.1前台模板约定
--3.1.3随堂测试
-3.2网站配置接口设计
--3.2.3随堂测试
-3.3菜单接口设计
--3.3.3随堂测试
-3.4内容接口设计
--3.4.3随堂测试
-3.5幻灯片接口设计
--3.5.3随堂测试
-补充设计文档
-4.1用户管理功能设计
--4.1.3随堂测试
-4.2菜单管理功能设计
--4.2.3随堂测试
-4.3内容管理功能设计
--4.3.3随堂测试
-4.4网站配置信息设计
--4.4.3随堂测试
-完成设计文档
-4.6随堂测试
-5.1开发环境搭建
--5.1.2随堂测试
-5.2Web前端环境搭建
-5.3创建用户实体
--5.3.2随堂测试
-5.4用户实体表创建与初始化
--5.4.2随堂测试
-5.5用户数据访问接口实现
--5.5.2随堂测试
-5.6环境搭建问题
-6.1用户服务层接口实现
--6.1.2随堂测试
-6.2用户列表和编辑控制器实现
--6.2.2随堂测试
-6.3用户存储和删除控制器实现
-6.4用户添加、编辑界面实现
-6.5用户管理添加用户调试
-7.1用户查询模板实现
--7.1.2随堂测试
-7.2用户信息编辑的实现
-7.3单个用户删除实现
-7.4多个用户删除实现
-8.1用户列表分页基本实现
-8.2用户列表查询结果分页实现
-8.3通用日期处理
-8.4整型日期处理
--8.4.2随堂测试
-8.5枚举数据的应用
-9.1登录逻辑实现
--9.1.2随堂测试
-9.2登录界面及流程调试
--9.2.2随堂测试
-9.3管理主界面实现
--9.3.2随堂测试
-9.4授权验证拦截器实现
--9.4.2随堂测试
-9.5拦截器调试
-10.1分类接口实现
-10.2分类添加、编辑实现
-10.3分类树结构实现
-10.4分类删除实现
--10.4.2随堂测试
-11.1内容实体定义
-11.2相关接口定义
-11.3服务接口实现
-11.4内容添加、编辑模板实现
-11.5内容添加、编辑控制器实现
-11.6内容检索页面实现
-11.7内容分类树实现
-12.1修改UEditor相关问题
-12.2整合UEditor到内容编辑界面
-12.3UEditor图片对话框应用
-12.4文件上传问题处理
-13.1网站配置相关类实现
-13.2网站配置界面模板实现
-13.3网站配置调试
-14.1网站首页布局实现
-14.2菜单Vue组件实现
--14.2.2随堂测试
-14.3幻灯片Vue组件实现
-14.4滚动Vue组件实现
--14.4.2随堂测试
-14.5滚动接口实现
-14.6滚动接口调试
-14.7幻灯片接口实现
-15.1首页区域实现
-15.2首页内容脚本实现
-15.3首页完善
-15.4Vue组件放入单文件
-15.5详细页面实现
-16.1网站测试介绍
-16.2功能测试
-16.3打包发布
-16.4部署运行
--16.4.2随堂测试