Initial commit

This commit is contained in:
2023-06-09 09:04:37 +08:00
commit 599356c6d4
78 changed files with 3679 additions and 0 deletions

38
service-oa/.gitignore vendored Normal file
View File

@@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

53
service-oa/pom.xml Normal file
View File

@@ -0,0 +1,53 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.atguigu</groupId>
<artifactId>guigu-oa-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>service-oa</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.atguigu</groupId>
<artifactId>model</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.atguigu</groupId>
<artifactId>service-util</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,20 @@
package com.atguigu.auth;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
/**
* ClassName: ServiceAuthApplication
* Package: com.atguigu.auth
*
* @author yovinchen
* @Create 2023/6/1 23:03
*/
@SpringBootApplication
@ComponentScan("com.atguigu")
public class ServiceAuthApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceAuthApplication.class, args);
}
}

View File

@@ -0,0 +1,67 @@
package com.atguigu.auth.controller;
import com.atguigu.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
* ClassName: IndexController
* Package: com.atguigu.auth.controller
*
* @author yovinchen
* @Create 2023/6/8 20:32
* 后台登录登出
*/
@Api(tags = "后台登录管理")
@RestController
@RequestMapping("/admin/system/index")
public class IndexController {
/**
* 登录
*
* @return
*/
@ApiOperation("登陆")
@PostMapping("login")
public Result login() {
Map<String, Object> map = new HashMap<>();
map.put("token", "admin");
return Result.ok(map);
}
/**
* 获取用户信息
*
* @return
*/
@ApiOperation("获取用户信息")
@GetMapping("info")
public Result info() {
Map<String, Object> map = new HashMap<>();
map.put("roles", "[admin]");
map.put("name", "admin");
map.put("avatar", "https://oss.aliyuncs.com/aliyun_id_photo_bucket/default_handsome.jpg");
return Result.ok(map);
}
/**
* 退出
*
* @return
*/
@ApiOperation("登出")
@PostMapping("logout")
public Result logout() {
return Result.ok();
}
}

View File

@@ -0,0 +1,185 @@
package com.atguigu.auth.controller;
import com.atguigu.auth.service.SysRoleService;
import com.atguigu.common.result.Result;
import com.atguigu.model.system.SysRole;
import com.atguigu.vo.system.AssginRoleVo;
import com.atguigu.vo.system.SysRoleQueryVo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* ClassName: SysRoleService
* Package: com.atguigu.auth.controller
*
* @author yovinchen
* @Create 2023/6/6 17:19
*/
@Api(tags = "角色管理接口")
@RestController
@RequestMapping("/admin/system/sysRole")
public class SysRoleController {
@Autowired
private SysRoleService sysRoleService;
/**
* 查询所有角色和当前用户所属角色
*
* @param userId
* @return
*/
@ApiOperation(value = "根据用户获取角色数据")
@GetMapping("/toAssign/{userId}")
public Result toAssign(@PathVariable Long userId) {
Map<String, Object> roleMap = sysRoleService.findRoleByUserId(userId);
return Result.ok(roleMap);
}
/**
* 为用户分配角色
*
* @param assginRoleVo
* @return
*/
@ApiOperation(value = "根据用户分配角色")
@PostMapping("/doAssign")
public Result doAssign(@RequestBody AssginRoleVo assginRoleVo) {
sysRoleService.doAssign(assginRoleVo);
return Result.ok();
}
/**
* 查询所有角色
*
* @return
*/
@ApiOperation("查询所有角色")
@GetMapping("findAll")
public Result findAll() {
return Result.ok(sysRoleService.list());
}
/**
* 条件分页查询
* page 当前页
* limit 每页显示记录数
*
* @return
*/
@ApiOperation("条件分页查询")
@GetMapping("{page}/{limit}")
public Result pageQueryRole(@PathVariable Long page,
@PathVariable Long limit,
SysRoleQueryVo sysRoleQueryVo) {
//调用service的方法实现
//1 创建Page对象传递分页相关参数
//page 当前页 limit 每页显示记录数
Page<SysRole> pageParam = new Page<>(page, limit);
//2 封装条件,判断条件是否为空,不为空进行封装
LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<>();
String roleName = sysRoleQueryVo.getRoleName();
if (!StringUtils.isEmpty(roleName)) {
//封装 like模糊查询
wrapper.like(SysRole::getRoleName, roleName);
}
//3 调用方法实现
IPage<SysRole> pageModel = sysRoleService.page(pageParam, wrapper);
return Result.ok(pageModel);
}
/**
* 添加角色
*
* @param role
* @return
*/
@ApiOperation("添加角色")
@PostMapping("save")
public Result save(@RequestBody SysRole role) {
//调用service的方法
boolean is_success = sysRoleService.save(role);
if (is_success) {
return Result.ok();
} else {
return Result.fail();
}
}
/**
* 修改角色-根据id查询
*
* @param id
* @return
*/
@ApiOperation("根据id查询")
@GetMapping("get/{id}")
public Result get(@PathVariable Long id) {
SysRole sysRole = sysRoleService.getById(id);
return Result.ok(sysRole);
}
/**
* 修改角色-最终修改
*
* @param role
* @return
*/
@ApiOperation("修改角色")
@PutMapping("update")
public Result update(@RequestBody SysRole role) {
//调用service的方法
boolean is_success = sysRoleService.updateById(role);
if (is_success) {
return Result.ok();
} else {
return Result.fail();
}
}
/**
* 根据id删除
*
* @param id
* @return
*/
@ApiOperation("根据id删除")
@DeleteMapping("remove/{id}")
public Result remove(@PathVariable Long id) {
boolean is_success = sysRoleService.removeById(id);
if (is_success) {
return Result.ok();
} else {
return Result.fail();
}
}
/**
* 批量删除
* 前端数组 [1,2,3]
*
* @param idList
* @return
*/
@ApiOperation("批量删除")
@DeleteMapping("batchRemove")
public Result batchRemove(@RequestBody List<Long> idList) {
boolean is_success = sysRoleService.removeByIds(idList);
if (is_success) {
return Result.ok();
} else {
return Result.fail();
}
}
}

View File

@@ -0,0 +1,140 @@
package com.atguigu.auth.controller;
import com.atguigu.auth.service.SysUserService;
import com.atguigu.common.result.Result;
import com.atguigu.model.system.SysUser;
import com.atguigu.vo.system.SysUserQueryVo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 用户表 前端控制器
* </p>
*
* @author yovinchen
* @since 2023-06-09
*/
@Api(tags = "用户管理接口")
@RestController
@RequestMapping("/admin/system/sysUser")
public class SysUserController {
@Autowired
private SysUserService sysUserService;
/**
* 更新用户状态
*
* @param id
* @param status
* @return
*/
@ApiOperation(value = "更新状态")
@GetMapping("updateStatus/{id}/{status}")
public Result updateStatus(@PathVariable Long id, @PathVariable Integer status) {
sysUserService.updateStatus(id, status);
return Result.ok();
}
/**
* 用户条件分页查询
*
* @param page
* @param limit
* @param sysUserQueryVo
* @return
*/
@ApiOperation("用户条件分页查询")
@GetMapping("{page}/{limit}")
public Result index(@PathVariable Long page,
@PathVariable Long limit,
SysUserQueryVo sysUserQueryVo) {
//创建page对象
Page<SysUser> pageParam = new Page<>(page, limit);
//封装条件,判断条件值不为空
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
//获取条件值
String username = sysUserQueryVo.getKeyword();
String createTimeBegin = sysUserQueryVo.getCreateTimeBegin();
String createTimeEnd = sysUserQueryVo.getCreateTimeEnd();
//判断条件值不为空
//like 模糊查询
if (!StringUtils.isEmpty(username)) {
wrapper.like(SysUser::getUsername, username);
}
//ge 大于等于
if (!StringUtils.isEmpty(createTimeBegin)) {
wrapper.ge(SysUser::getCreateTime, createTimeBegin);
}
//le 小于等于
if (!StringUtils.isEmpty(createTimeEnd)) {
wrapper.le(SysUser::getCreateTime, createTimeEnd);
}
//调用mp的方法实现条件分页查询
IPage<SysUser> pageModel = sysUserService.page(pageParam, wrapper);
return Result.ok(pageModel);
}
/**
* 获取用户
*
* @param id
* @return
*/
@ApiOperation(value = "获取用户")
@GetMapping("get/{id}")
public Result get(@PathVariable Long id) {
SysUser user = sysUserService.getById(id);
return Result.ok(user);
}
/**
* 保存用户
*
* @param user
* @return
*/
@ApiOperation(value = "保存用户")
@PostMapping("save")
public Result save(@RequestBody SysUser user) {
sysUserService.save(user);
return Result.ok();
}
/**
* 更新用户
*
* @param user
* @return
*/
@ApiOperation(value = "更新用户")
@PutMapping("update")
public Result updateById(@RequestBody SysUser user) {
sysUserService.updateById(user);
return Result.ok();
}
/**
* 删除用户
*
* @param id
* @return
*/
@ApiOperation(value = "删除用户")
@DeleteMapping("remove/{id}")
public Result remove(@PathVariable Long id) {
sysUserService.removeById(id);
return Result.ok();
}
}

View File

@@ -0,0 +1,17 @@
package com.atguigu.auth.mapper;
import com.atguigu.model.system.SysRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* ClassName: SysRoleMapper
* Package: com.atguigu.auth.mapper
*
* @author yovinchen
* @Create 2023/6/1 23:01
*/
@Mapper
public interface SysRoleMapper extends BaseMapper<SysRole> {
}

View File

@@ -0,0 +1,18 @@
package com.atguigu.auth.mapper;
import com.atguigu.model.system.SysUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 用户表 Mapper 接口
* </p>
*
* @author yovinchen
* @since 2023-06-09
*/
@Mapper
public interface SysUserMapper extends BaseMapper<SysUser> {
}

View File

@@ -0,0 +1,20 @@
package com.atguigu.auth.mapper;
import com.atguigu.model.system.SysUserRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 用户角色 Mapper 接口
* </p>
*
* @author yovinchen
* @since 2023-06-09
*/
@Repository
@Mapper
public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
}

View File

@@ -0,0 +1,5 @@
<?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.atguigu.auth.mapper.SysUserMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?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.atguigu.auth.mapper.SysUserRoleMapper">
</mapper>

View File

@@ -0,0 +1,24 @@
package com.atguigu.auth.service;
import com.atguigu.model.system.SysRole;
import com.atguigu.vo.system.AssginRoleVo;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
* ClassName: SysRoleService
* Package: com.atguigu.auth.service
*
* @author yovinchen
* @Create 2023/6/1 23:03
*/
public interface SysRoleService extends IService<SysRole> {
//查询所有角色和当前用户所属角色
Map<String, Object> findRoleByUserId(Long userId);
//为用户分配角色
void doAssign(AssginRoleVo assginRoleVo);
}

View File

@@ -0,0 +1,16 @@
package com.atguigu.auth.service;
import com.atguigu.model.system.SysUserRole;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户角色 服务类
* </p>
*
* @author yovinchen
* @since 2023-06-09
*/
public interface SysUserRoleService extends IService<SysUserRole> {
}

View File

@@ -0,0 +1,23 @@
package com.atguigu.auth.service;
import com.atguigu.model.system.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户表 服务类
* </p>
*
* @author yovinchen
* @since 2023-06-09
*/
public interface SysUserService extends IService<SysUser> {
/**
* 更新用户状态
*
* @param id
* @param status
*/
void updateStatus(Long id, Integer status);
}

View File

@@ -0,0 +1,81 @@
package com.atguigu.auth.service.impl;
import com.atguigu.auth.mapper.SysRoleMapper;
import com.atguigu.auth.mapper.SysUserRoleMapper;
import com.atguigu.auth.service.SysRoleService;
import com.atguigu.model.system.SysRole;
import com.atguigu.model.system.SysUserRole;
import com.atguigu.vo.system.AssginRoleVo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* ClassName: SysRoleServiceImpl
* Package: com.atguigu.auth.service.impl
*
* @author yovinchen
* @Create 2023/6/1 23:02
*/
@Service
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
@Autowired
private SysUserRoleMapper sysUserRoleMapper;
@Override
public Map<String, Object> findRoleByUserId(Long userId) {
//查询所有的角色
List<SysRole> allRolesList = this.list();
//查询的角色id
List<SysUserRole> existUserRoleList = sysUserRoleMapper.selectList(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId).select(SysUserRole::getRoleId));
List<Long> existRoleIdList = existUserRoleList.stream().map(c -> c.getRoleId()).collect(Collectors.toList());
//对角色进行分类
List<SysRole> assginRoleList = new ArrayList<>();
for (SysRole role : allRolesList) {
//比较,已分配
if (existRoleIdList.contains(role.getId())) {
assginRoleList.add(role);
}
}
Map<String, Object> roleMap = new HashMap<>();
roleMap.put("assginRoleList", assginRoleList);
roleMap.put("allRolesList", allRolesList);
return roleMap;
}
/**
* 为用户分配角色
*
* @param assginRoleVo
*/
@Transactional
@Override
public void doAssign(AssginRoleVo assginRoleVo) {
//删除用户的角色数据,在用户角色表 sys_user_role表中根据userid删除
sysUserRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, assginRoleVo.getUserId()));
//重新为用户分配角色
for (Long roleId : assginRoleVo.getRoleIdList()) {
//判空
if (StringUtils.isEmpty(roleId)) continue;
SysUserRole sysUserRole = new SysUserRole();
sysUserRole.setUserId(assginRoleVo.getUserId());
sysUserRole.setRoleId(roleId);
sysUserRoleMapper.insert(sysUserRole);
}
}
}

View File

@@ -0,0 +1,20 @@
package com.atguigu.auth.service.impl;
import com.atguigu.auth.mapper.SysUserRoleMapper;
import com.atguigu.auth.service.SysUserRoleService;
import com.atguigu.model.system.SysUserRole;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户角色 服务实现类
* </p>
*
* @author yovinchen
* @since 2023-06-09
*/
@Service
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService {
}

View File

@@ -0,0 +1,40 @@
package com.atguigu.auth.service.impl;
import com.atguigu.auth.mapper.SysUserMapper;
import com.atguigu.auth.service.SysUserService;
import com.atguigu.model.system.SysUser;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* <p>
* 用户表 服务实现类
* </p>
*
* @author yovinchen
* @since 2023-06-09
*/
@Service
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
/**
* 更新用户状态
*
* @param id
* @param status
*/
@Transactional
@Override
public void updateStatus(Long id, Integer status) {
//根据userid查询用户对象、
SysUser sysUser = baseMapper.selectById(id);
//设置修改状态值
if (status.intValue() == 1) {
sysUser.setStatus(status);
} else {
sysUser.setStatus(0);
}
baseMapper.updateById(sysUser);
}
}

View File

@@ -0,0 +1,16 @@
server:
port: 8800
mybatis-plus:
configuration:
# 查看日志
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/guigu-oa?useSSL=false&useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true
username: root
password: root
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8

View File

@@ -0,0 +1,5 @@
spring:
application:
name: service-oa
profiles:
active: dev

View File

@@ -0,0 +1,130 @@
package com.atguigu.auth;
import com.atguigu.auth.mapper.SysRoleMapper;
import com.atguigu.auth.service.SysRoleService;
import com.atguigu.model.system.SysRole;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Arrays;
import java.util.List;
/**
* ClassName: TestMpDemo1
* Package: com.atguigu.auth
*
* @author yovinchen
* @Create 2023/6/1 23:04
*/
@SpringBootTest
public class TestMpDemo1 {
/**
* MyBatisPlus 对 service 层和 dao 层都做了很好的封装直接调对应的CRUD方法就行
*/
@Autowired
private SysRoleMapper sysRoleMapper;
@Autowired
private SysRoleService sysRoleService;
/**
* 使用MP 封装的 service 来操作数据库,查询所有记录
*/
@Test
public void getAllByService() {
List<SysRole> list = sysRoleService.list();
list.forEach(System.out::println);
}
/**
* 使用MP 封装的 mapper查询所有记录
*/
@Test
public void getAllByMapper() {
List<SysRole> sysRoles = sysRoleMapper.selectList(null);
sysRoles.forEach(System.out::println);
}
/**
* 添加操作
*/
@Test
public void insert() {
SysRole sysRole = new SysRole();
sysRole.setRoleName("角色管理员");
sysRole.setRoleCode("role");
sysRole.setDescription("角色管理员");
int result = sysRoleMapper.insert(sysRole);
System.out.println(result); //影响的行数
System.out.println(sysRole.getId()); //id自动回填
}
/**
* 修改操作
*/
@Test
public void updateById() {
// 根据id查询
SysRole sysRole = sysRoleMapper.selectById(9);
// 设置修改值
sysRole.setRoleName("角色管理员1");
// 调用方法实现最终修改
int update = sysRoleMapper.updateById(sysRole);
// 受影响的行数
System.out.println("update = " + update);
}
/**
* 根据id删除
*/
@Test
public void deleteById() {
int delete = sysRoleMapper.deleteById(9);
// 受影响的行数
System.out.println("delete = " + delete);
}
/**
* 批量删除
*/
@Test
public void deleteBatchByIds() {
// 或者下面这种写法
int delete = sysRoleMapper.deleteBatchIds(Arrays.asList(8, 9));
// 受影响的行数
System.out.println("ids = " + delete);
}
/**
* 条件查询
*/
@Test
public void testQueryWrapper1() {
QueryWrapper<SysRole> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role_name", "系统管理员");
List<SysRole> list = sysRoleMapper.selectList(queryWrapper);
list.forEach(System.out::println);
}
/**
* 条件查询
*/
@Test
public void testQueryWrapper2() {
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
//java 8 中写法
queryWrapper.eq(SysRole::getRoleName, "系统管理员");
List<SysRole> list = sysRoleMapper.selectList(queryWrapper);
list.forEach(System.out::println);
}
}

View File

@@ -0,0 +1,67 @@
package com.atguigu.code;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class CodeGet {
public static void main(String[] args) {
// 1、创建代码生成器
AutoGenerator mpg = new AutoGenerator();
// 2、全局配置
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("/Users/yovinchen/project/Java/project/guigu-oa-parent/service-oa" + "/src/main/java");
gc.setServiceName("%sService"); //去掉Service接口的首字母I
gc.setAuthor("yovinchen");
gc.setOpen(false);
mpg.setGlobalConfig(gc);
// 3、数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/guigu-oa?serverTimezone=UTC&useSSL=false");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
// 4、包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.atguigu");
pc.setModuleName("auth"); //模块名
pc.setController("controller");
pc.setService("service");
pc.setMapper("mapper");
mpg.setPackageInfo(pc);
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("sys_user_role");
//数据库表映射到实体的命名策略
strategy.setNaming(NamingStrategy.underline_to_camel);
//数据库表字段映射到实体的命名策略
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
// lombok 模型 @Accessors(chain = true) setter链式操作
strategy.setEntityLombokModel(true);
//restful api风格控制器
strategy.setRestControllerStyle(true);
//url中驼峰转连字符¬
strategy.setControllerMappingHyphenStyle(true);
mpg.setStrategy(strategy);
// 6、执行
mpg.execute();
}
}