bestvike --bvframe学习

ref title fetch后台api
分页属性,pagination 要差几条?pagelimit
在api中写一个饭方法,vue中用用他
vue.cinfig.js中配置别名

nacos微服务

实体类要继承basedata(封装了公共数据)

控制器autowired,getmapping(api下的文件)
反映pageinfo
dao借口继承公司的借口mapper左脚好类,类型
service,写个实现它
autowired注入dao
override

前端

①views中写一个组件:table标签中ref ,title,:fetch-api=“fetchUsers”
fetchUsers == 在data中定义==并且需要
import { fetchUsers, removeUsers, resetPass } from '@/api/authority/user'
②在api文件下authority下的user.js

import http from '@/utils/http'
export function fetchUsers(query){return http.get('/api/users', {params: query})
}

后端

③controller中写一个控制器SysUserController
控制器 (Controller):
使用 @RestController 注解来定义一个 RESTful 控制器。
使用 @Autowired 注解来自动注入其他组件(如服务)到控制器中。
使用 @GetMapping 注解来映射特定的 HTTP GET 请求到对应的处理方法。
通常,控制器会调用服务层的方法来处理业务逻辑,并将处理结果返回给客户端。

@RestController
public class SysUserController extends BaseController {
注入服务等:@Autowiredprivate SysUserService sysUserService;@GetMapping("/api/users/all") ***调用的是前端api文件下面的js文件中的api***public List<SysUser> fetchAll() {return sysUserService.fetchAll();}@GetMapping("/api/users")public PageInfo<SysUser> fetch(SysUser sysUser) {return sysUserService.fetch(sysUser);  ***调用服务的方法***}

④service中写一个接口SysUserService
服务 (Service):
使用 @Service 注解来定义一个服务组件。
服务层通常包含业务逻辑,并且可以访问数据访问对象(DAO)。
服务层可以通过 @Autowired 注解来注入 DAO 层。
服务层的方法可能会被控制器调用,并且可能会返回数据或视图模型,如 PageInfo,这是一个分页信息的包装类,通常用于返回分页数据。

@Service
public interface SysUserService {List<SysUser> fetchAll();PageInfo<SysUser> fetch(SysUser sysUser);  ***接口中定义方法***一些方法

再写一些接口SysUserServiceImpl实现它

@Service
public class SysUserServiceImpl extends BaseService implements SysUserService {@Autowired                    **注入dao接口**private SysUserDao sysUserDao;@Autowiredprivate SysRoleDao sysRoleDao;@Value("${app.authority.default-password:666666}")private String defaultPassword;@Overridepublic List<SysUser> fetchAll() {return sysUserDao.selectAll();}@Override              ***具体实现的方法***public PageInfo<SysUser> fetch(SysUser sysUser) {                  return MybatisUtils.page(sysUser, sysUserDao, new ExampleCriteria() {@Overridepublic void initCriteria(Example.Criteria criteria) {/*if (!StringUtils.isEmpty(sysUser.getDeptId())) {criteria.andEqualTo("deptId", sysUser.getDeptId());}*/if (!StringUtils.isEmpty(sysUser.getDeptId())) {criteria.andEqualTo("deptId", sysUser.getDeptId());}criteria.andEqualTo("status", UserStatus.NORMAL.getCode());if (!StringUtils.isEmpty(sysUser.getFuzzy())) {criteria.andLike("id", "%" + sysUser.getFuzzy() + "%");criteria.orLike("userId", "%" + sysUser.getFuzzy() + "%");//criteria.orLike("avatar", "%" + fuzzy + "%");criteria.orLike("name", "%" + sysUser.getFuzzy() + "%");} else {/*if (!StringUtils.isEmpty(sysUser.getId())) {criteria.andEqualTo("id", sysUser.getId());}*/if (!StringUtils.isEmpty(sysUser.getUserId())) {criteria.andEqualTo("userId", sysUser.getUserId());}if (!StringUtils.isEmpty(sysUser.getName())) {criteria.andLike("name", "%" + sysUser.getName() + "%");}if (!StringUtils.isEmpty(sysUser.getStatus())) {criteria.andEqualTo("status", sysUser.getStatus());}}}});}

⑤在dao中写一个SysUserDao接口
数据访问对象 (DAO):
使用 @Mapper 注解来定义一个 DAO 接口,它通常继承自某个公司或项目提供的 DAO 接口。
DAO 接口使用泛型来指定操作的实体类和返回的实体类。
DAO 接口中的方法通常用来与数据库交互,执行 CRUD 操作。
DAO 接口的实现类通常由 MyBatis 等持久层框架自动生成,这些实现类通常位于与接口同名的包中。

@Repository
public interface SysUserDao extends Mapper<SysUser> {Integer selectId();一些方法

⑥src/main/resources/mapping.oa文件下面有着许多xml文件
写一个SysUserMapper.xml,里面写了sql语句,其中id就是上面的方法

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bestvike.oa.dao.SysUserDao"><select id="selectId" resultType="integer"><![CDATA[select IFNULL(max(cast(id as SIGNED INTEGER)), 0) + 1from sys_user]]></select>

在这里插入图片描述
⑦在data中定义实体类要继承BaseData

package com.bestvike.oa.data;import com.bestvike.commons.entity.BaseData;
import com.bestvike.commons.utils.ConvertUtils;
import com.fasterxml.jackson.annotation.JsonIgnore;@Entity
public class SysAuthority extends BaseData implements Serializable {private  static  final long serialVersionUID = 1L;@Idprivate String id;private String roleId;@JsonIgnoreprivate String permissions;@Transientprivate Map<String, List<String>> routes;public String getId() {return id;}

⑧在后端中resources有一个routes.json文件
里面定义了路由

[{"path": "/authority","alwaysShow": true,"component": "Layout","meta": {"title": "权限管理","icon": "authority"},"children": [{"path": "users","component": "authority/user","name": "ListUser","meta": {"title": "用户管理"},"authority": {"urls": ["GET:/api/users","PUT:/api/users","GET:/api/users/{id}/roles","PUT:/api/users/{id}/roles","PUT:/api/users/{id}/password/reset"]}}, 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/624117.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣101. 对称二叉树(java)

思路&#xff1a; 一、验证 左右子树是否可翻转对称的&#xff1f; 二、分析左右子树情况&#xff1a; 1&#xff09;左右都也空 对称 2&#xff09;左右有一个为空 不对称 3&#xff09;左右都不为空&#xff0c;但数字不同 不对称 4&#xff09;左右都不为空&#xff0c;且数…

【C语言】带你完全理解指针(六)指针笔试题

目录 1. 2. 3. 4. 5. 6. 7. 8. 1. int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d", *(a 1), *(ptr - 1));return 0; } 【答案】 2&#xff0c;5 【解析】 定义了一个指向整数的指针ptr&#xff0c;并将其初始化为&…

【JavaSE】你真的了解内部类吗?

前言 本篇会详细讲解内部类的四种形式&#xff0c;让你掌握内部类~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 内部类介绍 实例内部类 定义 调用 静态内部类 定义 调用 匿名内部类 定义和调用1 调用方法2 …

如何有效防范互联网域名诈骗?

互联网域名诈骗已成为网络安全的一大隐患。针对这一问题&#xff0c;保护个人和企业的网络安全至关重要。以下是几条谨防互联网域名诈骗的建议&#xff1a; 1.保持警惕&#xff1a;时刻保持对域名诈骗的警惕&#xff0c;警惕不明来历的域名交易或推广。 2.核实域名信息&#xf…

【Qt 学习笔记】Qt常用控件 | 按钮类控件Check Box的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 按钮类控件Check Box的使用及说明 文章编号&#xff1a;…

大模型日报|今日必读的10篇大模型论文

大家好&#xff0c;今日必读的大模型论文来啦&#xff01; 1.谷歌推出新型 Transformer 架构&#xff1a;反馈注意力就是工作记忆 虽然 Transformer 给深度学习带来了革命性的变化&#xff0c;但二次注意复杂性阻碍了其处理无限长输入的能力。 谷歌研究团队提出了一种新型 T…

「GO基础」目录

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

24华中杯马上就要开赛了!!!!!

需要资料整合的资料可以提前进群呢&#xff08;238651270&#xff09; “华中杯”大学生数学建模挑战赛章程 第一条 总则 “华中杯”大学生数学建模挑战赛&#xff08;以下简称竞赛&#xff09;是湖北省工业与应用数 学学会主办的面向全国大学生的群众性科技活动。“华中杯”定…

软考 - 系统架构设计师 - 嵌入式真题

问题 1&#xff1a; &#xff08;1&#xff09;.HTML 静态化&#xff1a;可以实现对系统经常访问的页面进行静态化以提高系统访问的效率&#xff0c;但系统页面通常需要数据库中的用户信息和用户选择来动态显示&#xff0c;因此不适合采用。 HTML 静态化&#xff1a; 将动态生成…

浅谈Java JVM

Java虚拟机&#xff08;Java Virtual Machine&#xff0c;简称JVM&#xff09;是Java语言的核心组成部分&#xff0c;它是一个抽象的计算机&#xff0c;负责执行Java字节码指令。JVM是Java平台无关性的基石&#xff0c;它为Java代码提供了一个标准的运行环境&#xff0c;使Java…

分布式调度平台

应用场景 1.xxl-job介绍 xxl-job 是一个轻量级分布式任务调度框架&#xff0c;支持动态添加、修改、删除定时任务&#xff0c;支持海量任务分片执行&#xff0c;支持任务执行日志在线查看和分页查询&#xff0c;同时支持任务失败告警和重试机制&#xff0c;支持分布式部署和高…

48.HarmonyOS鸿蒙系统 App(ArkUI)常用组件的使用

48.HarmonyOS鸿蒙系统 App(ArkUI)常用组件的使用 按钮触发事件 toast信息提示 单选按钮 复选框 切换按钮&#xff0c;开关按钮 进度条 textbox,textinput,TextArea文本输入框 气泡提示 import prompt from ohos.prompt; import promptAction from ohos.promptAction; …