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

怎样做网站连接长沙做网站推广

怎样做网站连接,长沙做网站推广,料神wordpress建站教程,乐清做网站的公司有哪些仓库地址 在初版代码中,已经实现了基础的增删改查。 但是,逻辑处理都放在Controller层中并没有分为Service层,所以,代码升级时候必须补充上去。 代码结构 升级后的代码结构有所变化。 --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 BaseMapper<User> {@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 IService<User> {// 创建用户public void addUser(User user);// 删除用户public void deleteUser(User user);// 更新用户public void updateUser(User user);// 实验方法返回值用public List<User> 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 ServiceImpl<UserMapper, 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 List<User> getUserInfoList() {List<User> userList = userMapper.selectList(new QueryWrapper<>());return userList;}
}
解释说明
  • extends ServiceImpl<UserMapper, 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对象,用于分页查询Page<User> userPage = new Page<>(page,size);// 创建QueryWrapper对象,用于构建查询条件QueryWrapper<User> 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); // 精确查询角色}// 执行分页查询Page<User> userPageList = userService.page(userPage,qw);// 判断查询结果是否为空if(userPageList != null) {return Result.success(userPageList); // 查询成功,返回结果} else {return Result.error("500", "查询失败"); // 查询失败,返回错误信息}
}
@RequestMapping("getListAll")
public Result<?> getListAll(){// 使用 QueryWrapper 进行查询,获取用户列表List<User> 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.hkea.cn/news/112081/

相关文章:

  • 软件外包保密协议seo相关岗位
  • 后台网站开发文档下载班级优化大师app
  • 辛集城乡建设管理局网站网络营销网络推广
  • 阿里云部署一个自己做的网站吗电商网站搭建
  • 免费汽车租赁网站模板网站域名解析ip查询
  • 企业解决方案官网国内seo排名分析主要针对百度
  • 变态版手游石景山区百科seo
  • 阿里云控制台登录入口seo矩阵培训
  • wordpress苗木模板网站搜索排优化怎么做
  • 网站图片引导页怎么做重庆seo招聘
  • 如何做属于自己的领券网站郑州百度网站优化排名
  • 建设银行益阳市分行桃江支行网站公司页面设计
  • vps 网站上传网站seo优化是什么意思
  • wordpress cos腾讯云seo网站优化收藏
  • 鹤岗商城网站建设免费域名申请
  • 江苏三个地方疫情严重抖音视频排名优化
  • 竞价排名广告东莞关键词排名快速优化
  • 做视频网站要什么格式好网络营销公司怎么注册
  • 企业专业网站建设快速网站搭建
  • 武威建设网站的网站google谷歌搜索
  • 长沙公司做网站多少钱推广平台怎么做
  • 现在大家做电商网站用什么源码营销策略都有哪些
  • 可以做试卷的网站英语怎么说seo关键词排名优化系统源码
  • 网站怎么设置支付功能企业网站的主要类型有
  • 成都圣都装饰装修公司北京搜索优化排名公司
  • 境外建设网站贴吧互联网域名注册查询
  • 广州建站工作室淘客推广怎么做
  • 中国最大的网站建设公司百度广告联盟点击一次多少钱
  • wordpress单页主题营销seo手机关键词网址
  • dedecms做电影网站韩国最新新闻