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

网站改版前端流程经验网站seo优化服务

网站改版前端流程经验,网站seo优化服务,微信小程序如何做,梅州建站仓库地址 在初版代码中,已经实现了基础的增删改查。 但是,逻辑处理都放在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.hrbkazy.com/news/51825.html

相关文章:

  • php网站后台密码破解工具网站后台用户名密码破解环球网疫情最新
  • 手机网站 微信平台免费的外链网站
  • 国外做家纺的网站今日热榜
  • 网站编程培训公司怎么在百度制作自己的网站
  • 小白学做网站买什么书批量优化网站软件
  • 没有域名的网站搜索引擎营销方案例子
  • wordpress网站加载过慢北京优化网站建设
  • 图库网站源码平台推广文案
  • php动态网站开发案例课堂百度自媒体怎么注册
  • 嘉兴app开发公司合肥网站优化
  • 做外贸面料的网站百度关键词指数查询工具
  • 网站建设与管理实验营销策划的八个步骤
  • proxy网站视频剪辑培训机构
  • 淘宝客导购网站长沙百度快照优化排名
  • 四网合一网站建设百度搜索量怎么查
  • 婚庆公司网站建设最好的免费建站网站
  • 北京营销型网站建设百度网站收录提交
  • 免费的好网站网络seo优化推广
  • 国家住房和城乡建设委员会网站良品铺子网络营销策划书
  • 礼服购物车网站模板百度指数热度榜
  • 网站怎么做图片按按钮跳转网站流量统计系统
  • 如何做有亮点的网站建设方案今日头条关键词工具
  • 做学校网站会下线吗优化大师使用心得
  • 有哪些网站做的比较好优化seo招聘
  • 自助wap建站陕西网站建设制作
  • 网站主办者和所有者区别aso关键词排名优化是什么
  • 发卡平台wordpress淘宝优化标题都是用什么软件
  • 建设银行信用卡在网站激活后如何设置密码排名第一的玉米品种
  • 无锡网站建设推广服务腾讯朋友圈广告代理
  • 北京火车站建站时间上海seo关键词优化