# 后端管理页面
### [Geeker-Admin](https://gitee.com/laramie/Geeker-Admin) ,在此特别感谢大佬!
# 接口测试
## 采用 [Apifox](https://www.apifox.cn/help/ide-plugin/idea-plugin/quickstart/installation/) + 规范注释 + IDEA插件,在此特别感谢[Apifox](https://www.apifox.cn/)团队!
一键生成接口文档,简直不要太好用!
# 项目简介
力求简单,好用,能够快速开发.
新的一年希望有新气象,所以项目名就叫znew.
# 数据库访问
基于mybatis,封装了一个通用实体类增删改查的工具类,也是本**项目特色**.
设计理念: 万能实体类的增删改查. 不考虑复杂sql,关联查询等,推荐用原生mybatis配置文件的方式.
## CommonDao使用
```java
/**
* CommonDao使用示例
* @author farkle
* @date 2023-01-13
*/
@Service
public class CommonDaoDemo {
@Resource
private CommonDao commonDao;
//主键查找
public SysDemo selectByPk(Long id){
return commonDao.selectByPk(SysDemo.class, id);
}
//查询所有数据
public List<SysDemo> select(){
return commonDao.select(SysDemo.class);
}
//查询一条数据,推荐
public SysDemo findByName(String name){
return commonDao.selectOne( SysDemo.builder().name(name).build() );
}
//查询一条数据2
public SysDemo findByName2(String name){
return commonDao.selectOneCond(Condition.create(SysDemo.class).put(SysDemo::getName, name));
}
//列表查询,推荐
public List<SysDemo> list(String name){
return commonDao.select( SysDemo.builder().name(name).build() );
}
//列表查询2
public List<SysDemo> list2(String name){
return commonDao.selectCond(Condition.create(SysDemo.class).put(SysDemo::getName, name));
}
/**
* 分页查询,推荐
* 这里只是简单分页,面对复杂查询的分页推荐使用pagehelper
* @param name
* @param pageNumber
* @param pageSize
* @return
*/
public List<SysDemo> listPage(String name, Integer pageNumber, Integer pageSize){
SysDemo cond = SysDemo.builder().name(name).build();
cond.setSortByField("id").setSortByWay(SortByWay.desc);
return commonDao.select(cond, pageNumber,pageSize);
}
//分页查询2
public List<SysDemo> listPage2(String name, Integer pageNumber, Integer pageSize){
return commonDao.selectCond(Condition.create(SysDemo.class).put(SysDemo::getName, name), pageNumber,pageSize);
}
//统计,推荐
public Long count(String name){
return commonDao.count( SysDemo.builder().name(name).build() );
}
//统计2
public Long count2(String name){
return commonDao.countCond(Condition.create(SysDemo.class).put(SysDemo::getName, name));
}
//带统计数量的分页,推荐
public PageResult<SysDemo> page(String name, Integer pageNumber, Integer pageSize){
SysDemo cond = SysDemo.builder().name(name).build();
cond.setSortByField("id").setSortByWay(SortByWay.desc);
PageResult<SysDemo> pageResult = commonDao.page(cond, pageNumber, pageSize);
System.out.println(pageResult.getTotal());
System.out.println(pageResult.getData());
return pageResult;
}
//带统计数量的分页2
public PageResult<SysDemo> page2(String name, Integer pageNumber, Integer pageSize){
PageResult<SysDemo> pageResult = commonDao.pageCond(Condition.create(SysDemo.class).put(SysDemo::getName, name), pageNumber,pageSize);
System.out.println(pageResult.getTotal());
System.out.println(pageResult.getData());
return pageResult;
}
//新增
public int insert(){
SysDemo sysDemo = new SysDemo();
sysDemo.setName("小明");
return commonDao.insert(sysDemo);
}
//批量新增
public int insertBatch(){
List<SysDemo> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
SysDemo sysDemo = new SysDemo();
sysDemo.setName("小明"+i);
list.add(sysDemo);
}
return commonDao.insertBatch(list);
}
//主键更新
public int updateByPk(Long id){
SysDemo sysDemo = new SysDemo();
sysDemo.setId(id);
sysDemo.setName("小明名称变更");
return commonDao.updateByPk(sysDemo);
}
//updateAllField 根据主键根性所有字段
//条件更新
public int update(){
SysDemo update = new SysDemo();
update.setName("所有男的都叫小明");
return commonDao.update(update, SysDemo.builder().gender(Gender.Male).build() );
}
//主键删除
public int deleteByPk(Long id){
return commonDao.deleteByPk(SysDemo.class, id);
}
//主键批量删除
public int deleteBatch(List<Long> ids){
return commonDao.deleteBatch(SysDemo.class, ids);
}
//条件删除
public int delete(){
//删除所有男性
return commonDao.delete( SysDemo.builder().gender(Gender.Male).build() );
}
}
```
CommonService:通用增删改服务
```java
/**
* 通用服务
* @author farkle
* @date 2022-12-08
*/
public interface CommonService<T> {
List<T> listAll(Class<T> clazz);
List<T> list(T t);
List<T> list(T t, Integer pageNumber, Integer pageSize);
<T> T getOne(T t);
T getById(Class<T> clazz, Long id);
Long count(T t);
int save(T t);
int edit(T t);
int edit(T t, T cond);
int del(Class<T> clazz, Long id);
int dels(Class<T> clazz, List<Long> ids);
}
@Service("commonService")
public class CommonServiceImpl<T> implements CommonService<T> {
@Resource
private CommonDao commonDao;
public List<T> listAll(Class<T> clazz){
return commonDao.select(clazz);
}
public List<T> list(T t){
return commonDao.select(t);
}
public List<T> list(T t, Integer pageNumber, Integer pageSize){
return commonDao.select(t,pageNumber,pageSize);
}
public <T> T getOne(T t){
return commonDao.selectOne(t);
}
public T getById(Class<T> clazz, Long id){
return commonDao.selectByPk(clazz, id);
}
public Long count(T t){
return commonDao.count(t);
}
public int save(T t){
return commonDao.insert(t);
}
public int edit(T t){
return commonDao.updateByPk(t);
}
public int edit(T t, T cond){
return commonDao.update(t,cond);
}
public int del(Class<T> clazz, Long id){
return commonDao.deleteByPk(clazz, id);
}
public int dels(Class<T> clazz, List<Long> ids){
return commonDao.deleteBatch(clazz, ids);
}
}
```
# znew多模块架构
```
znew
├─ common # 通用工具支持
│ ├─ lombok, servlet-api
│ ├─ jackson, FastJson
│ ├─ commons-io, commons-lang3, httpclient
│ ├─ jjwt
├─ model # 通用业务实体类
├─ basesystem # 后台管理基础内容以及公共服务
│ ├─ common
│ ├─ spring-boot-starter, spring-boot-starter-web
│ ├─ redis, validation, mybatis
│ ├─ freemarker(代码生成器), Retrofit, swagger
├─ admin # 后台业务管理
│ ├─ basesystem, model, plugin
│ ├─ security, pagehelper
├─ api # app业务接口
│ ├─ basesystem, model, plugin
│ ├─ Freemarker(文章h5页面)
├─ plugin # 通用第三方插件
│ ├─ common
│ ├─ 微信授权登录,微信支付
│ ├─ 支付宝支付
│ ├─ 云存储 等
└─
```
# 后端管理页面权限控制
![image-20230113200504510](https://oscimg.oschina.net/oscnet/up-98dc0f77b993ff92d108d35109e6fcfb308.png)
**参考增删改demo, 注意:权限编码前端被屏蔽了,需要的去数据库查看**
**实现方式:基于spring security URL的权限控制, 实现请自行查看Authorization类.**
**权限编码规则: 请求方法/请求url, 支
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
springboot-admin-master.zip (744个子文件)
mobi.min.css 11KB
.env.development 106B
.editorconfig 532B
.env 302B
.eslintignore 129B
edit.vue.ftl 7KB
index.vue.ftl 4KB
controller.java.ftl 2KB
mapper.xml.ftl 2KB
entity.java.ftl 1KB
h5.ftl 954B
serviceimpl.java.ftl 924B
api.ts.ftl 698B
entityDTO.java.ftl 644B
service.java.ftl 381B
mapper.java.ftl 352B
avatar.gif 6KB
.gitignore 297B
.gitignore 63B
index.html 2KB
index.html 734B
login.html 334B
favicon.ico 4KB
CommonDao.java 26KB
SqlHelper.java 24KB
RedisUtil.java 20KB
GenServiceImpl.java 16KB
ExtListener.java 11KB
StrUtil.java 10KB
FTPCli.java 9KB
ApacheHttpClient.java 8KB
Compress.java 8KB
JPush.java 7KB
RequestUtil.java 7KB
LocalDateUtil.java 6KB
SysUserServiceImpl.java 6KB
CSVParser.java 6KB
Server.java 6KB
Apple.java 6KB
IdWorker.java 6KB
UrlHttp.java 5KB
SysDemoController.java 5KB
SysRoleServiceImpl.java 5KB
AppUserServiceImpl.java 5KB
CommonDaoDemo.java 5KB
RedisAuth.java 4KB
SecurityConfig.java 4KB
NullHandleObjectMapper.java 4KB
CommonController.java 4KB
BeanUtil.java 4KB
CaptchaResourceStore.java 4KB
AjaxLoginHandler.java 4KB
AntPathMatcher.java 4KB
SysDemo.java 4KB
RedisAuthServiceImpl.java 4KB
UserIntegralController.java 4KB
NullSerializerModifier.java 4KB
AuthServiceImpl.java 4KB
GenController.java 4KB
UserSigninServiceImpl.java 4KB
SysDemoServiceImpl.java 4KB
ApiResult.java 4KB
ApiLogUtil.java 4KB
RWLockArrayList.java 3KB
AdminLogUtil.java 3KB
RongCloudUtil.java 3KB
AppServiceImpl.java 3KB
RequestJsonFilter.java 3KB
LoginUser.java 3KB
Arith.java 3KB
SFTPCli.java 3KB
DateUtil.java 3KB
SysLoginLogServiceImpl.java 3KB
SysUploadServiceImpl.java 3KB
SysUserController.java 3KB
SysAuthController.java 3KB
RedisGeoServiceImpl.java 3KB
Jvm.java 3KB
AjaxLoginFilter.java 3KB
SysRoleController.java 3KB
AesUtil.java 3KB
UserDetailsServiceImpl.java 3KB
SysAuth.java 3KB
EasyExcelDataHander.java 3KB
ErrorHandler.java 3KB
GlobalExceptionHandler.java 3KB
TokenAuthenticationFilter.java 3KB
CaptchaController.java 3KB
AppUserController.java 3KB
ErrorCellWriteHandler.java 3KB
SysUserDTO.java 3KB
AppBannerServiceImpl.java 3KB
MvcConfigurer.java 2KB
TreeUtils.java 2KB
RedisConfig.java 2KB
Authorization.java 2KB
UserIntegralServiceImpl.java 2KB
UserBalanceServiceImpl.java 2KB
MapUtil.java 2KB
SysAdminLog.java 2KB
共 744 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
猫猫义工
- 粉丝: 75
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功