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.mzph.cn/news/820202.shtml

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

相关文章

亚信安慧AntDB:实时数据洞察的利器

AntDB数据库以其独特的创新能力在分布式数据库领域引领潮流。其中&#xff0c;融合统一与实时处理是其两大核心创新能力&#xff0c;为其赢得广泛关注与赞誉。融合统一意味着AntDB能够将多种不同类型的数据库融合为一体&#xff0c;实现数据的统一管理与处理&#xff0c;极大地…

2024年第十五届蓝桥杯研究生组题目总结(Java、Python、C++)

2024年十五届蓝桥杯研究生组 今年的题较去年难度降低了很多&#xff0c;题量也少了2道。 Q1 劲舞团 读文件&#xff0c;找到最长的满足条件的子数组的长度 答案是&#xff1a;9 BufferedReader&#xff0c;fopen&#xff0c;open Q2 召唤数学精灵 找规律&#xff0c;周期…

C语言题目:A+B for Input-Output Practice (II)

题目描述 The first line integer means the number of input integer a and b. Your task is to Calculate a b. 输入格式 Your task is to Calculate a b. The first line integer means the numbers of pairs of input integers. 输出格式 For each pair of input in…

lua 环境安装

下载地址&#xff1a; https://luabinaries.sourceforge.net/download.html 安装环境变量 检查一下是否安装成功&#xff0c;有版本号&#xff0c;打印一句话&#xff0c;如下表示成功 idea 安装插件&#xff0c;方便编写lua脚本 配置一下idea 运行测试 local function m…

【C++风云录】深入了解STL、Boost.Graph和Google Test:发掘C++中的工具之力

进阶高手之路&#xff1a;探索C中的STL、Boost.Graph和Google Test绝技 前言 C是一种强大的编程语言&#xff0c;为开发人员提供了广泛的工具和库。在这些工具中&#xff0c;STL&#xff08;Standard Template Library&#xff09;、Boost.Graph和Google Test被广泛应用于不同…

Linux的重要命令(二)+了解Linux目录结构

目录 一.Linux的目录结构 二.查看文件内容命令 1.cat 命令 2.more 命令 3.less 命令 4.head 命令 5.tail 命令 6.拓展 head 和 tail 的其他用法 ​编辑 三.统计文件内容的命令-wc ​编辑 四.检索和过滤文件内容的命令-grep ​编辑 ​编辑 五.压缩命令 gzip 和 bz…

【SpringBoot】返回参数

返回参数 返回页面返回数据返回 html 代码返回 json 数据两数相加用户登录 返回页面 首先在 static 文件夹中创建 index.html 文件&#xff1a; 代码&#xff1a; <html> <body><h1>hello word!!!</h1><p>this is a html page</p> <…

JS-29-Promise对象

一、JavaScript的异步操作 在JavaScript的世界中&#xff0c;所有代码都是单线程执行的。 由于这个“缺陷”&#xff0c;导致JavaScript的所有网络操作&#xff0c;浏览器事件&#xff0c;都必须是异步执行。异步执行可以用回调函数实现&#xff1a; function callback() {c…

temux安装debian自用记录

http://ip:9001/ user/123 http://ip:5705/index admin/drpy 一、安装Ubuntu1804 1&#xff0e;首先安装termux.app 2&#xff0e;启动该app&#xff0c;输入命令 curl -Lo l l.tmoe.me; sh l 3&#xff0e;运行过程中连续选“Y”&…

兼容性之边缘:解决Windows Edge常见兼容性问题

引言&#xff1a; Windows Edge是一款现代化的浏览器&#xff0c;随着Windows 10的推出而被引入到我们的生活中。Windows Edge具有优异的性能和功能&#xff0c;如高速浏览和更好的安全性。然而&#xff0c;在日常使用过程中&#xff0c;Windows Edge用户仍然常常遭遇兼容性问…

ip数据报

IP数据报格式详解 在 TCP/IP 协议中&#xff0c;使用 IP 协议传输数据的包被称为 IP 数据包&#xff0c;每个数据包都包含 IP 协议规定的内容。IP 协议规定的这些内容被称为 IP 数据报文&#xff08;IP Datagram&#xff09;或者 IP 数据报。 IP 数据报文由首部&#xff08;称…

C++11 列表初始化、initializer_list、auto、decltype、array

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C &#x1f525;座右铭&#xff1a;“不要等到什么都没有了&#xff0c;才下…

git突然不能更新

【Q】 git 更新经常报这种错 Update failed WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)…

Linux学习-数据库

数据库软件: 关系型数据库: Mysql Oracle SqlServer Sqlite 非关系型数据库&#xff1a; Redis NoSQL 1.数组、链表、文件、数据库 数组、链表: 内存存放数据的方式(代码运行结束、关机数据丢失) 文件、…

GitHub repository - Branch - SSH clone URL - Clone in Desktop - Download ZIP

GitHub repository - Branch - SSH clone URL - Clone in Desktop - Download ZIP 1. Branch2. SSH clone URL3. Clone in Desktop4. Download ZIPReferences 1. Branch 显示当前分支的名称。从这里可以切换仓库内分支&#xff0c;查看其他分支的文件。 2. SSH clone U…

每日汇评:黄金会在鲍威尔讲话之前重回 2,400 美元吗?

在避险情绪的影响下&#xff0c;金价在 2400 美元下方巩固反弹&#xff1b; 尽管中东紧张局势有所缓和&#xff0c;美元仍因美国零售销售数据强劲而上涨&#xff1b; 由于有利的四小时技术结构&#xff0c;金价的看涨潜力仍然完好无损&#xff1b; 周二亚洲交易中&#xff0c;金…

oraclelinux 增加静态路由

背景&#xff1a;有一套oracle19c RAC &#xff0c;主机rac1及rac2,IP地址分别为192.168.56.101、192.168.56.102,通过vyos软路由的nat&#xff0c;已经实现192.168.56.0可以与IP:192.168.128.179通讯。现在需要实现与192.168.128.0网段通讯。 [rootemcc ~]# route add -net …

vue3中setup函数的理解

在 Vue 3 中&#xff0c;setup 函数是用于设置组件的配置和状态的地方。它是组件内部的一个新特性&#xff0c;用于替代 Vue 2.x 中的 data、computed、methods 等选项。setup 函数的主要作用可以概括为以下几点&#xff1a; 接收参数&#xff1a; setup 函数接收两个参数&…

智能装箱机:打造高效物流新时代的革命性工具

在快节奏的现代生活中&#xff0c;物流行业的效率与智能化水平直接关系到消费者的购物体验和企业的市场竞争力。装箱机作为物流包装中重要的一个环节&#xff0c;其智能化升级已成为行业发展的必然趋势。星派将与大家探讨装箱机为什么说是智能化装箱解决方案? 一、装箱机的智能…

【应急响应篇】内存马应急响应指南

【应急响应篇】内存马应急响应指南 1.Java内存马原理2.Java内存马分类Tomcat型Spring型Agent型3.内存马查杀思路1.Java内存马原理 内存马无文件落地,存在于内存之中,隐蔽性强,缺点是 一般的内存🐎重启后就不在了 Java内存马按照实现原理大致可以分为如下两种 利用Java W…