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

网站改版前端流程经验营销型网站建设要点

网站改版前端流程经验,营销型网站建设要点,莱芜在线招聘,医院网站建设的指导思想仓库地址 在初版代码中,已经实现了基础的增删改查。 但是,逻辑处理都放在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.zhongyajixie.com/news/30928.html

相关文章:

  • 国外做文化的网站企业网站设计
  • 最近免费韩国电影hd无seo关键词优化排名
  • 西安做网站找哪家公司好免费拓客软件哪个好用
  • 清溪网站建设网络营销就业前景和薪水
  • 国内做网站建设最好的公司是window优化大师
  • 天下网商自助建站系统适合发朋友圈的营销广告
  • 太和网站开发招聘怎么去推广一个app
  • 网站建设后台是什么优化设计三年级上册语文答案
  • 遵义做网站公司武汉网络推广
  • 做同步网站百度权重优化软件
  • 做网站需要交管理费吗seo是怎么优化上去
  • 网站建设费往什么科目购物网站大全
  • 松原做网站公司网站推广的方式有哪些
  • 石家庄网站建设联系方式郑州网络推广效果
  • 湖北省建设厅招骋网站天津百度推广公司电话
  • 商城网站建设公司怎么建设自己的网站
  • 张家港做企业网站win10优化大师免费版
  • 我图网类网站建设西安百度竞价推广
  • 青州专业网站建设上百度首页
  • 学做家常菜去那个网站如何搜索网页关键词
  • wordpress插件破解版镇江关键字优化品牌
  • jsp环保主题网站代做刷网站排名软件
  • 好点的开发网站的公司如何快速搭建一个网站
  • 网站留言怎么做搜索引擎优化的目的是对用户友好
  • 网站建设与维护相关知识如何制作网页广告
  • 网站开发前景咋样网络营销与直播电商好就业吗
  • wordpress学习 知乎石家庄seo
  • 网站开发的阶段网络推广外包想手机蛙软件
  • wordpress下载及安装教程seo中国官网
  • 网站升级改版方案凡科建站登录入口