Lucky-AdminLucky-Admin
首页
快速开始
  • Lucky-Admin-Vue
  • Lucky-Admin-App
  • Lucky-Admin-Vue
  • Lucky-Admin-App
  • Ruo-Yi
  • Vue-Admin
  • Sa-Token
  • Uni-App
  • UniBest
  • Wot-Ui
首页
快速开始
  • Lucky-Admin-Vue
  • Lucky-Admin-App
  • Lucky-Admin-Vue
  • Lucky-Admin-App
  • Ruo-Yi
  • Vue-Admin
  • Sa-Token
  • Uni-App
  • UniBest
  • Wot-Ui
  • Lucky-Admin

    • 简介
    • 快速开始
    • 后端常见问题
    • 前端常见问题
    • 移动端常见问题
  • 社交
    • 打赏
    • 赞助榜
    • 友情链接
    • 交流群

快速开始

环境要求

  • 操作系统:Windows、Linux、MacOS
  • 数据库:MySQL 5.7+
  • JDK:JDK 17
  • Maven:3.6+
  • Node.js:18.20+

工具(可选)

  • IDE:IntelliJ IDEA、VS Code、WebStorm
  • 数据库可视化工具:Navicat、DBeaver、SQLyog
  • 浏览器:Chrome、Firefox、Safari、Edge
  • UniApp 开发工具:HBuilderX、UniApp CLI、微信开发者工具

安装步骤

默认密码

重要

- 账号:admin
- 密码:1111111   (7个1)

Lucky-Admin-Vue

1. 克隆项目到本地

git clone https://gitee.com/xiaodu6/lucky-admin-vue.git

2. 导入数据库

提示

数据库需要自己创建,数据库名称可以自定义,创建完成后,导入SQL文件

# 创建项目必须导入的SQL
数据库文件在根目录下: sql/sql/createProject.sql 

# 移动端根据需要导入,若需要使用也要导入前端的SQL
移动端的SQL在根目录下:sql/sql/createApp.sql  

3. 修改配置文件

配置文件分为了 dev(开发环境)、prod(生产环境),修改对应的配置文件中的内容可在不同环境中运行项目 其中有3个配置文件需要修改:

- application-dev.yml           ## 开发环境配置文件
- application-prod.yml          ## 生产环境配置文件
- application.yml               ## 公共配置文件

修改使用的配置文件

spring:
  application:
    name: lucky-admin
  profiles:
    active: dev ## dev 开发环境,prod 生产环境

重要

不要忘记在对应的配置文件中修改对应的数据库连接信息

4. 前端安装依赖

cd lucky-admin-vue/lucky-admin-ui
npm install pnpm -g
pnpm install

5. 前端启动

npm run dev

6. 后端启动

7. 访问地址

http://localhost:9528 ## 前端

http://localhost:8080/dev-api ## 开发环境后端

http://localhost:8080/prod-api ## 生产环境后端

Lucky-Admin-App

1. 部署Lucky-Admin-Vue的后端

2. 克隆项目到本地

git clone https://gitee.com/xiaodu6/lucky-admin-app-unibest.git

3. 导入移动端数据库

提示

移动端的SQL在根目录下:sql/sql/createApp.sql  

注意

移动端的菜单仅仅提供了基础的菜单配置和角色配置,并没有实现动态路由,权限控制使用的是Web端页面的权限控制配置器,因此,若需要使用动态路由是需要自己实现的。

4. 修改配置文件

移动端的后端依赖于Lucky-Admin-Vue的后端故修改配置文件同Lucky-Admin-Vue的后端配置方法相同

5. 移动端安装依赖

npm install pnpm -g
pnpm install

6. 移动端启动

pnpm dev ## 运行H5环境
pnpm dev:mp-weixin ## 运行微信小程序环境

7. 移动端运行到其他平台

类型标识
微信小程序mp-weixin
支付宝小程序mp-alipay
抖音小程序mp-toutiao
飞书小程序mp-lark
QQ小程序mp-qq
京东小程序mp-jd
小红书小程序mp-xhs
百度小程序mp-baidu
快手小程序mp-kuaishou

配置代码生成器

代码生成器基于MyBatisPlus + Velocity 模板引擎进行编写

数据库配置

配置文件位置: src/main/java/cn/anlucky/luckyadmin/gen/config/GenerationBean.java

数据库的使用取决于当前项目运行启动时使用的数据,使用了 @Value 自动注入配置进行注入获得 数据库的连接信息因此在这里若无其他需求,数据库方面无需进行其他配置

generationPo Bean 对象

generationPo Bean 为 Lucky-Admin 后端中的一个自定义Bean对象,对象属性中包含了代码生成所需要的配置

配置文件位置: src/main/java/cn/anlucky/luckyadmin/gen/config/GenerationBean.java

	@Bean(name = "generationPo")
    public GenerationPo generationPo() {
        GenerationPo generationPo = new GenerationPo();
        generationPo.setDbUrl(dbUrl);
        generationPo.setDbUserName(dbUserName);
        generationPo.setDbPassword(dbPassword);
        generationPo.setAuthor("yifan.du"); // 生成的作者名称
        generationPo.setOutputDir("D:/Desktop/luckyGenerator/111"); // 代码生成输出文件的位置
        generationPo.setPackageName("cn.anlucky"); // 包名 系统默认的配置,仅在未指定时使用,一般情况下不改 因为在别的地方可以修改
        generationPo.setMouldName("system"); // 模块名  系统默认的配置,仅在未指定时使用,一般情况下不改 因为在别的地方可以修改
        generationPo.setCreateTimeField("create_time"); //  创建时间 数据库字段名是什么就填什么 表中没有自动填充字段时会忽略,这里可以不修改
        generationPo.setUpdateTimeField("update_time"); // MyBatis Plus 修改时间自动填数据库充字段
        generationPo.setCreateByField("create_by"); // MyBatis Plus 创建人自动填数据库充字段
        generationPo.setUpdateByField("update_by"); // MyBatis Plus 修改人自动填数据库充字段
        generationPo.setDeleteFlagField("del_flag"); // MyBatis Plus 逻辑删除自动填数据库充字段
        generationPo.setEntityPackage("pojo");		// 实体存放包名称 当前配置生成的包为 cn.anlucky.system.pojo
        generationPo.setMapperPackage("mapper");	// mapper   cn.anlucky.system.mapper
        generationPo.setMapperXmlPackage("mapper.xml"); //  cn.anlucky.system.mapper.xml
        generationPo.setServicePackage("service"); //  cn.anlucky.system.service
        generationPo.setServiceImplPackage("service.impl"); //  cn.anlucky.system.service.impl
        generationPo.setControllerPackage("controller"); //  cn.anlucky.system.controller
        return generationPo;
    }

模板文件

系统内置了两套代码生成的模板,一套为 MybatisPlus 官方提供的 vm 模板,一套为 Lucky-Admin 提供的 vm 模板

配置位置:lucky-admin/src/main/java/cn/anlucky/luckyadmin/gen/config/GenerationPo.java

使用默认模板开关

    /**
     * 是否使用默认模板
     * 默认模板:template/default/*
     * 自定义模板:template/lucky/*
     * 为true 时使用模板 MyBatis Plus 官方提供的模板,为 false 时 使用的是 Lucky-Admin 提供的模板
     */
	public static final boolean isDefalutTemplate = false;

增加自定义模板文件

若不想使用MyBatis Plus 官方提供的模板 和 Lucky-Admin 提供的模板,可以自定义模板,具体步骤为

  1. 在 src/main/resources/templates 下创建对应的模板文件夹 名字自定义 如:my
  2. 复制粘贴一份 src/main/resources/templates/default MyBatis Plus 官方提供的模板到my文件夹 在这个基础上进行修改
  3. 修改lucky-admin/src/main/java/cn/anlucky/luckyadmin/gen/config/GenerationPo.java 配置文件中的 getTemplatesMap方法
    public Map<String, String> getTemplatesMap() {
        if (templatesMap != null){
            return templatesMap;
        }
        templatesMap = new HashMap<>();
        if (isDefalutTemplate){
            // 设置默认模板位置
            templatesMap.put(ENTITY, "/templates/default/java/entity.java"); // 这里的不要动,因为他是MybatisPlus官方提供的模板
            templatesMap.put(MAPPER, "/templates/default/java/mapper.java");
            templatesMap.put(MAPPER_XML, "/templates/default/xml/mapper.xml");
            templatesMap.put(SERVICE, "/templates/default/java/service.java");
            templatesMap.put(SERVICE_IMPL, "/templates/default/java/serviceImpl.java");
            templatesMap.put(CONTROLLER, "/templates/default/java/controller.java");
        }else {
            // 设置自定义模板位置
            templatesMap.put(ENTITY, "/templates/lucky/java/entity.java"); // 修改这里的路径 lucky 修改为 my(自己定义的模板目录位置)
            templatesMap.put(MAPPER, "/templates/lucky/java/mapper.java");
            templatesMap.put(MAPPER_XML, "/templates/lucky/xml/mapper.xml");
            templatesMap.put(SERVICE, "/templates/lucky/java/service.java");
            templatesMap.put(SERVICE_IMPL, "/templates/lucky/java/serviceImpl.java");
            templatesMap.put(CONTROLLER, "/templates/lucky/java/controller.java");
        }
        return templatesMap;
    }

注意 isDefalutTemplate 要修改为 false

代码生成使用步骤

了解了配置代码生成器的步骤之后,你已经对代码生成有了基本的认识和配置的改动,接下来是使用步骤

1. 创建 test 测试方法,在 SpringBoot中的测试中创建

为什么要在test中创建?

因为数据库的配置使用的SpringBoot的自动装载和代码生成的配置对象使用了Bean对象,在main方法中无法使用自动装载的特性去加载,因此要在springbootTest 中使用

1.1 创建包 test/java/ -> cn.anlucky.luckyadmin.gen

1.2 创建SpringBoot Test 测试类 MysqlGenService.java

具体内容

@SpringBootTest
public class MysqlGenService {

    @Autowired
    private GenerationService generationService;

    @Test
    void generateCode() {
        String packageName = "cn.anlucky.luckyadmin"; // 包
        String  moduleName = "system"; // 模块
        String tableName = "sys_users"; // 数据库表
        generationService.generateCode(packageName, moduleName,tableName);
        // 代码生成后 包名为 cn.anlucky.luckyadmin.system 生成的表名称为 sys_users
    }
    
}

2. 调用执行代码

调用Test后即可生成代码,代码存放位置在控制台有输出

3. 代码放置位置

代码生成后,找到生成的文件,将代码根据自己的包配置的目录,放置自己的代码

如使用 Lucky-Admin 的默认配置,代码放置位置就在

cn.anlucky.luckyadmin.system.pojo ## 放置 实体对象

cn.anlucky.luckyadmin.system.mapper ## 放置 mapper.java (xml 文件统一放置在resource目录下的mapper文件夹下)

cn.anlucky.luckyadmin.system.service ##放置 service

.................... ## 其余的保持一致

4. 前端代码放置位置

前端代码放置位置在 src\views目录下,因使用的模块为 system 则在 views 下创建文件夹 system 将代码放置为 src\views\system对应的js文件放置在api 目录下

5. 代码生成后续操作

将生成的文件放置完毕后,要添加对应的动态路由,并将角色添加权限

  1. 放置代码
  2. 运行代码
  3. 添加菜单
  4. 对应的角色赋值对应菜单的权限
  5. 删除redis缓存
  6. 重新登录
最近更新:: 2025/6/10 17:59
Contributors: DuYiFan
Prev
简介
Next
后端常见问题