kvf-admin是一套基于springboot、mybatis、shiro及layui的轻量级快速开发框架、脚手架、后台管理系统、权限系统、基于activiti6整合的工作流OA系统,上手简单,拿来即用。
kvf-admin是一套快速开发框架、脚手架、后台管理系统、权限系统,上手简单,拿来即用。为广大开发者去除大部分重复繁锁的代码工作,让开发者拥有更多的时间陪恋人、家人和朋友。
技术交流群:214768328
* 后端采用spring boot、mybatis(已集成mybatis-plus增强插件,开发更迅速,可查看官方文档了解更多:mybatis-plus)、shiro框架
* 前端采用layui作为UI框架,实现90%的移动端自适应,支持主题更换
* 提供代码生成器(wiki使用文档),只需编写20%左右的代码,剩下全部自动生成;支持一键及批量功能模块生成,并支持一定程度上的自定义配置并生成代码,相对比较灵活
kvf-admin │ │ pom.xml maven依赖管理pom文件 │ ├─sql │ kvf_sys.sql 项目初始化数据表及基础数据sql脚本 │ └─src ├─main │ ├─java │ │ └─com │ │ └─kalvin │ │ └─kvf │ │ │ KvfAdminApplication.java 项目启动类 │ │ │ │ │ ├─common 通用模块 │ │ └─modules 功能模块 │ │ ├─generator 代码生成器模块 │ │ └─sys 系统模块(核心) │ └─resources │ │ application.yml spring boot 配置文件 │ │ ehcache.xml ehcache缓存配置文件 │ │ │ ├─mapper mybatis mapper文件 │ ├─static 静态资料 │ └─templates 模板 │ │ 403.html 403页面 │ │ home.html 系统首页页面 │ │ index.html 主页 │ │ login.html 登录页 │ │ │ ├─common 通用模板 │ │ base.html │ │ sys_tpl.html │ │ │ ├─generator 生成器模板 │ │ │ └─sys 系统页面模板 │ └─test 单元测试块
注意:以下三种方式部署前,记得初始化数据库哦
mvn package -P dev
mvn package -P test -Dmaven.test.skip=true
mvn package -P prod -Dmaven.test.skip=true
项目已解决以jar包运行的情况下,无法读取文件等各种问题,所以放心使用
nohup java -jar kvf-admin.jar &
打包前先修改pom.xml的打包方式为war
war
./startup.sh
前提:安装docker及docker-compose
mvn docker:build
修改相应docker-compose配置(可选)
vim docker-compose.yml vim .env
docker-compose up -d
docker-compose up -d kvf-admin
@Cacheable(value="cache_name")注解即可,同时需要在对应的方法上加上更新或删除缓存注解
@CacheEvict(value = "cache_name", allEntries = true);也可以使用redisTemplate添加删除更新缓存
IUserService userService = SpringContextKit.getBean(IUserService.class);
throw new KvfException("不存在的任务ID");,前端可接收到这个提示信息
R.ok(data); 或 R.fail("验证码不正确");
1.有些人访问报错:
org.apache.ibatis.binding.BindingException: Parameter 'xxx' not found,Available parameters are [0, 1, param1, param2]
为什么会出现部分人报错,有些却不报错呢? 答案参考这篇分析文章:点我
方案一: 可能是使用低版本的idea,因为低版本的idea默认是没有加上-parameters选项的,需要手动加上;(上面的分析文章有详细说明) 或者升级idea版本
方案二: 在mapper的方法参数上加上@Param注解
2.mybatisPlus自带的crud方法默认会根据实体类字段驼峰自动转下划线匹配数据表字段,如果不需要自动转下划线该如何配置
可在配置项
map-underscore-to-camel-case配置: 配置为
true时,mybatisplus会根据实体类字段驼峰自动转下划线匹配数据表字段如:myColumn(实体字段) -> my_column(表字段)
map-underscore-to-camel-case:true
false时:myColumn(实体字段) -> myColumn(表字段)
map-underscore-to-camel-case:false
如果只是部分表或字段需要,可在实体类的字段上配置@TableField(value="表字段")注解指定数据表字段名称如:
@TableField(value = "myColumn") private String myColumn;