bestvike --bvframe学习

news2025/2/7 23:47:44

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 {
注入服务等:
    @Autowired
    private 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;
    @Autowired
    private SysRoleDao sysRoleDao;

    @Value("${app.authority.default-password:666666}")
    private String defaultPassword;

    @Override
    public List<SysUser> fetchAll() {
        return sysUserDao.selectAll();
    }
    @Override              ***具体实现的方法***
    public PageInfo<SysUser> fetch(SysUser sysUser) {                  
        return MybatisUtils.page(sysUser, sysUserDao, new ExampleCriteria() {
            @Override
            public 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) + 1
        from 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;
    @Id
    private String id;
    private String roleId;
    @JsonIgnore
    private String permissions;

    @Transient
    private 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.coloradmin.cn/o/1598253.html

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

相关文章

哈希函数的简单介绍

哈希函数&#xff1a; hash: 把....弄糟(乱) 又称为散列函数&#xff0c;杂凑函数 什么是哈希表&#xff1f; 哈希表简单来说可以看作是是对数组的升级&#xff0c;&#xff08;也有不少人认为哈希表的本质就是数组&#xff09;&#xff0c;那么哈希表和数组的具体联系和区…

每日OJ题_BFS解决最短路③_力扣127. 单词接龙

目录 ③力扣127. 单词接龙 解析代码 ③力扣127. 单词接龙 127. 单词接龙 难度 困难 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> ... -> sk&#xff1a; 每一对相邻的单词只差一个字母。…

ObjectMapper的具体介绍与使用

文章目录 声明一、前言二、ObjectMapper与JSONObject比较1、核心主要有三个部分&#xff1a;依赖包不同 2、ObjectMapper使用概述2.1、工程的pom.xml导包信息2.2、创建案例中的测试对象2.3、对象和JSON相互转化2.3.1、测试代码2.3.2、测试结果展示 2.4、集合和JSON像话转化2.4.…

简单的车牌号识别

目录 处理流程与界面各接口编写时遇到的一些问题上传图片识别结果标签显示中文 处理流程与界面 首先点击“上传图片”按钮&#xff0c;可以选择文件夹中含有汽车车牌的图片&#xff0c;并显示在“图片框”中。 点击“检测车牌”按钮&#xff0c;会先对“图片框”中即含有汽车车…

Spring Task 定时任务(含结合cron 表达式)

目录 一、Spring Task的介绍 二、使用方法 2.1 配置类启用定时任务支持&#xff1a; 2.2 同步定时任务 ​编辑2.3 fixedRate 可以看出不能满足我们的日常需求 那如何让其开启异步呢&#xff08;开启多个线程工作&#xff09; 三、Spring Task 结合cron表达式 3.1 corn 表…

FreGS:具有渐进频率正则化的3D高斯溅射

FreGS: 3D Gaussian Splatting with Progressive Frequency Regularization FreGS&#xff1a;具有渐进频率正则化的3D高斯溅射 Jiahui Zhang1  Fangneng Zhan2  Muyu Xu1  Shijian Lu1  Eric Xing3, 4 张家慧 1 詹方能 2 许慕玉 1 卢世坚 1 邢志伟 3, 4 1Nanyang Technolo…

Day23_学点儿IDEA_单元测试@Test在新module项目中失效、Jackson核心对象 ObjectMapper识别不到

版本 IntelliJ IDEA 2023.2.4 目录结构 Study(Project) ├──JavaSE(Module) │ └──xxxx └──JavaWeb(Module)└──xxxx问题 1.1 在JavaSE项目中正常可以用的单元测试Test&#xff0c;到了JavaWeb项目中不起作用了 1.2 解决方法 如果是新创建的项目&#xff0c;先…

【Github】一个用于Active Directory的自助密码更改工具

在众多企业的日常运营中&#xff0c;Active Directory&#xff08;AD&#xff09;扮演着核心角色&#xff0c;负责管理和维护员工账户。然而&#xff0c;密码重置作为IT支持团队的常规工作之一&#xff0c;往往既耗时又繁琐。虽然一些商业解决方案和通过Windows服务器上RDS服务…

研究生,该学单片机还是plc。?

PLC门槛相对较低&#xff0c;但是在深入学习和应用时&#xff0c;仍然有很高的技术要求。我这里有一套单片机入门教程&#xff0c;不仅包含了详细的视频 讲解&#xff0c;项目实战。如果你渴望学习单片机&#xff0c;不妨点个关注&#xff0c;给个评论222&#xff0c;私信22&am…

【小程序】生成短信中可点击的链接

文章目录 前言一、如何生成链接二、仔细拜读小程序开发文档文档说明1文档说明2 总结 前言 由于线上运营需求&#xff0c;需要给用户发送炮轰短信&#xff0c;用户通过短信点击链接直接跳转进入小程序 一、如何生成链接 先是找了一些三方的&#xff0c;生成的倒是快速&#xf…

vector迭代器失效list迭代器失效

目录 一、vector迭代器失效 1.1插入时的迭代器失效 1.2删除时的迭代器失效 二、list迭代器失效 2.1删除时的迭代器失效 在vector与list的模拟实现中&#xff0c;其中有一问题就是迭代器的失效问题&#xff0c;那么迭代器的失效问题具体是指什么&#xff0c;接下来一探究竟…

【C语言基础】:预处理详解(二)

文章目录 一、宏和函数的对比二、#和##运算符2.1 #运算符2.2 ##运算符 三、#undef四、命令行定义五、条件编译六、头文件的包含1. 头文件包含的方式2. 嵌套文件包含 上期回顾&#xff1a; 【C语言基础】&#xff1a;预处理详解(一) 一、宏和函数的对比 宏通常被应有于执行简单…

系统学c#:1、基础准备(软件下载与安装)

一、Vs软件下载与安装 访问Visual Studio官方网站&#xff1a; https://visualstudio.microsoft.com/zh-hans/downloads 下载Visual Studio 运行exe文件&#xff0c;点击“继续” 初始文件安装完成后选择我们需要安装的项&#xff0c;并勾选好必要的单个组件&#xff0c;设…

VisualStudio2010编译GDAL2.2.4

一、源码目录组织结构 makefile.vc文件是windows下nmake编译工具的makefile文件&#xff0c;nmake.opt是makefile文件的编译选项配置选择文件。 二、打开Visual Studio2010的64位命令行&#xff0c;切换到GDAL224的解压根目录下 输入如下命令回车开始编译源码 nmake -f makef…

Bitwarden 一款开源的密码管理器

Bitwarden Bitwarden 是一款开源的密码管理器&#xff0c;提供强大的安全性和便捷的密码管理功能。 适用于运维、系统较多、密码保密程度较高的场景&#xff01; 主要功能&#xff1a; 密码保存与自动填充&#xff1a;Bitwarden 可以安全地存储您的用户名和密码&#xff0c…

阿里云迁移到AWS云,九河云保姆级教程

随着云计算技术的不断发展,越来越多的企业开始将传统的IT基础设施迁移到云平台上,以获得更高的灵活性、可扩展性和成本效益。在众多云服务提供商中,阿里云和AWS都是备受青睐的选择。本文将探讨如何将阿里云上的资源顺利迁移到AWS云平台,并针对性地进行优化。我们九河云&#xf…

【第9章】@Autowired

文章目录 前言一、Autowired注入1. 属性注入2. 构造方法注入3. set方法注入4. 形参注入5. byName注入5.1 新增实现类5.2 注入 二、Resource1.引入库2.使用2.1 根据注解的name值注入2.2 根据对象变量名注入2.3 根据对象类型注入 总结 前言 【第8章】全注解开发介绍了全注解开发…

电竞陪玩系统开发平台搭建(小程序,公众号,app)线上线下皆有,线下计算距离。

六大核心功能 1.游戏陪练:可以选择当下火爆的游戏内容&#xff0c;选择游戏大神、职业玩家进行陪练&#xff0c;也可约附近路人玩家或是身边的小伙伴语音组队开黑&#xff0c;一起享受边玩游戏边吐槽的无限乐趣。 2.约玩交友:除了游戏陪玩功能&#xff0c;系统还设置了单独的语…

将自己的项目上传至Git

一、安装Git 官网:Git (git-scm.com) 二、注册gitee 官网:工作台 - Gitee.com 进入“我的”出现以下界面 三、创建仓库 点击加号&#xff0c;新建仓库 根据自己的需求取名&#xff0c;描述仓库&#xff0c;开源还是私有&#xff0c;点击创建即可&#xff0c;点击我的即可…

Linux学习-数据库

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