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

恩施市网站建设军队采购网

恩施市网站建设,军队采购网,广州公关公司排行榜,淄博网站建设hiddd仓库地址 在初版代码中#xff0c;已经实现了基础的增删改查。 但是#xff0c;逻辑处理都放在Controller层中并没有分为Service层#xff0c;所以#xff0c;代码升级时候必须补充上去。 代码结构 升级后的代码结构有所变化。 --common 公共插件 --controller…仓库地址 在初版代码中已经实现了基础的增删改查。 但是逻辑处理都放在Controller层中并没有分为Service层所以代码升级时候必须补充上去。 代码结构 升级后的代码结构有所变化。 --common 公共插件 --controller 控制层 --dao 就是原来的mapper层代码不变 --entity 数据模型层 --service 逻辑处理层--impl 逻辑处理实现层dao层 即为原来的mapper层。 一个新发现对于数据的处理逻辑如果需要执行sql语句则需要在mapper层创建方法以便后续调用 package com.example.drhtspringboot.dao;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.drhtspringboot.entity.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; /*** 用户表* author Administrator*/ Mapper public interface UserMapper extends BaseMapperUser {Select(select * from user where username#{username})User getUserInfoList(String username); }service层和impl层 由于处理逻辑的方法众多service层的角色是汇总收集以便更清楚的显示有多少种方法而impl层则负责具体的方法的实现 Service层代码 还记得UserController中有多少方法吗一共有5个 ● getList 根据条件分页获取用户列表 ● getListAll 获取所有用户信息 ● addUser 添加用户 ● delUser 删除用户 ● updateUser 更新用户 ● getUserById(新增) 根据Id获取用户信息 文件创建 ● 创建service文件夹 ● 在service文件夹下创建UserService接口 ● 在service文件夹下创建impl文件夹 ● 在impl文件夹下创建UserImpl类 service代码 代码实现 package com.example.drhtspringboot.service;import com.baomidou.mybatisplus.extension.service.IService; import com.example.drhtspringboot.entity.User;import java.util.List;public interface UserService extends IServiceUser {// 创建用户public void addUser(User user);// 删除用户public void deleteUser(User user);// 更新用户public void updateUser(User user);// 实验方法返回值用public ListUser getUserInfoList(); }解释说明 ● 基础service继承 智能推荐最开始推荐的是BaseService但是问了后端师父说不对该是用IService。 ● 方法实现 Service和Impl的本质还是在mapper的基础上增加方法我的理解是有点像前端Js的原型挂载方法(具体不纠结意思大概是这样)所以有些本身就具有的方法不用实现。 impl层代码 代码实现 package com.example.drhtspringboot.service.impl;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.drhtspringboot.dao.UserMapper; import com.example.drhtspringboot.entity.User; import com.example.drhtspringboot.service.UserService;import javax.annotation.Resource; import java.util.Date; import java.util.List;public class UserImpl extends ServiceImplUserMapper, User implements UserService {Resourceprivate UserMapper userMapper;public void addUser(User user) {user.setCreatedAt(new Date());user.setUpdatedAt(new Date());userMapper.insert(user);}public void deleteUser(User user) {userMapper.deleteById(user.getId());}public void updateUser(User user) {user.setUpdatedAt(new Date());userMapper.updateById(user);}Overridepublic ListUser getUserInfoList() {ListUser userList userMapper.selectList(new QueryWrapper());return userList;} }解释说明 extends ServiceImplUserMapper, User implements UserService 这一句的具体意义没深究个人理解就是impl类和sevice的一个关联关系表示Resource 注解 也是依赖注入Override 注解 表示这是一个重写方法 重点说明 queryWrapper对象的传递 在service的本身方法里是可以直接传递qw对象的但是在impl层实现的方法不能传递qw对象需要在实现方法内部自行创建方法返回值 没有返回的方法如创建、更新、删除等方法的返回值类型用void即可 但是有返回值的方法如查询列表(getUserInfoList)查询详情这种方法的返回值类型就必须和内部的数据类型保持一致 controller 使用service后controller中的代码也需要修改 RequestMapping(getList) public Result? getList(Integer page,Integer size,String username,Integer banjiId,Integer gender,Integer role){// 创建Page对象用于分页查询PageUser userPage new Page(page,size);// 创建QueryWrapper对象用于构建查询条件QueryWrapperUser qw new QueryWrapper();if(StringUtils.isNotBlank(username)) {qw.like(username,username); // 模糊查询用户名}if(banjiId ! null) {qw.eq(banjiId,banjiId); // 精确查询性别}if(gender ! null) {qw.eq(gender,gender); // 精确查询性别}if(role ! null) {qw.eq(role, role); // 精确查询角色}// 执行分页查询PageUser userPageList userService.page(userPage,qw);// 判断查询结果是否为空if(userPageList ! null) {return Result.success(userPageList); // 查询成功返回结果} else {return Result.error(500, 查询失败); // 查询失败返回错误信息} } RequestMapping(getListAll) public Result? getListAll(){// 使用 QueryWrapper 进行查询获取用户列表ListUser userList userService.getUserInfoList();// 查询成功返回用户列表return Result.success(userList); } PostMapping(addUser) public Result? addUser(RequestBody User user){userService.addUser(user);return Result.success(); } PostMapping(delUser) public Result? deleteUser(RequestBody User user){userService.deleteUser(user);// 如果删除成功返回成功结果return Result.success(); } PostMapping(updateUser) public Result? updateUser(RequestBody User user){userService.updateUser(user);// 如果更新成功返回成功结果return Result.success(); }
http://www.w-s-a.com/news/402994/

相关文章:

  • 设计外贸英文网站国家企业信息信用公信系统
  • 主题资源网站创建时 如何突出设计的特点阿里云是做网站的吗
  • 乌市建设工程质量监督站网站外资公司注册
  • 档案馆网站机房建设做游戏网站打鱼
  • 网站建设平台 创新模式搭建好ftp服务器 如何通过网站访问
  • 苏州集团网站制作设计网页制作软件ai
  • 网站建设新手教程视频教程手帐风格wordpress主题
  • 做投标网站条件网站更改指定字段
  • mvc5 网站开发之美做印刷网站公司
  • 医疗网站建设精英微信网站用什么制作的
  • 银川网站设计联系电话地推加人2元1个
  • 龙华网站 建设深圳信科北京知名的网站建设公司
  • 怎么做qq刷赞网站搜盘 资源网
  • 微网站怎么做的好名字吗陕西省医院网站建设管理
  • 泉州seo-泉州网站建设公司温州企业自助建站系统
  • 网站建设属于什么费网站建设网络推广
  • 德州网站开发人员网站怎么才能被百度收录
  • wordpress网站怎么加小游戏乐山网站制作公司
  • 企业购 网站建设做兼职有哪些网站
  • 湖州网站做等保费用大型网站建站
  • 优创智汇高端网站建设网站设计工作流程
  • 什么网站可以学做西餐个人网站怎么做支付功能
  • 千户微建站平台做网站需要切图吗
  • 织梦cms 学校网站模板网站建设中的问题
  • 山东济南网站建设公司制作wordpress模板教程视频教程
  • 档案网站的建设怎样更新网站内容
  • 网站开发项目规划房地产趋势与前景
  • 网上网站开发这个百度的网站怎么做的
  • 南昌市建设局官方网站网龙网络公司地址
  • 自助建站平台源码公司网站谁负责做