Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
普蓝开源社区
盘古开发框架
提交
5843f645
盘古开发框架
项目概览
普蓝开源社区
/
盘古开发框架
通知
25
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
1
Wiki
分析
仓库
DevOps
项目成员
Pages
盘古开发框架
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
1
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5843f645
编写于
9月 21, 2022
作者:
X
xiongchun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
用户授权代码优化
上级
b88a2bc4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
99 addition
and
81 deletion
+99
-81
pangu-admin/pangu-admin-backend/pangu-admin-system/pangu-admin-system-app/src/main/java/com/pulanit/pangu/admin/system/service/UserServiceImpl.java
...m/pulanit/pangu/admin/system/service/UserServiceImpl.java
+3
-0
pangu-admin/pangu-admin-backend/pangu-admin-system/pangu-admin-system-app/src/test/java/com/pulanit/pangu/admin/system/TempTest.java
...rc/test/java/com/pulanit/pangu/admin/system/TempTest.java
+19
-0
pangu-website/docs/advanced-guide/数据持久化.md
pangu-website/docs/advanced-guide/数据持久化.md
+77
-81
未找到文件。
pangu-admin/pangu-admin-backend/pangu-admin-system/pangu-admin-system-app/src/main/java/com/pulanit/pangu/admin/system/service/UserServiceImpl.java
浏览文件 @
5843f645
...
...
@@ -24,6 +24,7 @@ import cn.hutool.core.lang.UUID;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.crypto.SecureUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -86,6 +87,7 @@ public class UserServiceImpl implements UserService {
public
PageResult
<
UserOut
>
list
(
UserPageIn
userPageIn
)
{
Page
<
UserEntity
>
page
=
PagingUtil
.
createPage
(
userPageIn
);
LambdaQueryWrapper
<
UserEntity
>
lambdaQueryWrapper
=
Wrappers
.
lambdaQuery
();
lambdaQueryWrapper
.
select
(
UserEntity
.
class
,
info
->
!
info
.
getColumn
().
equals
(
"password"
));
lambdaQueryWrapper
.
eq
(
ObjectUtil
.
isNotEmpty
(
userPageIn
.
getDeptId
()),
UserEntity:
:
getDeptId
,
userPageIn
.
getDeptId
());
String
keyword
=
userPageIn
.
getName
();
if
(
ObjectUtil
.
isNotEmpty
(
keyword
)){
...
...
@@ -119,6 +121,7 @@ public class UserServiceImpl implements UserService {
}
userIn
.
setAvatar
(
this
.
randomAvatar
());
userIn
.
setGmtCreated
(
DateUtil
.
date
());
userIn
.
setPassword
(
SecureUtil
.
sha256
(
userIn
.
getPassword
()));
userMapper
.
insert
(
userIn
);
userManager
.
creatUserRole
(
userIn
.
getId
(),
userIn
.
getRoleIds
());
}
...
...
pangu-admin/pangu-admin-backend/pangu-admin-system/pangu-admin-system-app/src/test/java/com/pulanit/pangu/admin/system/TempTest.java
0 → 100644
浏览文件 @
5843f645
package
com.pulanit.pangu.admin.system
;
import
cn.hutool.core.lang.Console
;
import
cn.hutool.crypto.SecureUtil
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
@RunWith
(
SpringRunner
.
class
)
//@SpringBootTest
public
class
TempTest
{
@Test
public
void
test1
(){
String
coded
=
SecureUtil
.
sha256
(
"123456"
);
Console
.
log
(
coded
);
}
}
pangu-website/docs/advanced-guide/数据持久化.md
浏览文件 @
5843f645
...
...
@@ -99,100 +99,96 @@ logging.level.com.gitee.pulanos.pangu.showcases.crud.dao=debug
### 新增
```
jsx
public
int
aInsert
()
{
log
.
info
(
"
插入数据...
"
);
UserEntity
userEntity
=
new
UserEntity
();
userEntity
.
setName
(
"
XC
"
).
setAge
(
18
).
setUserType
(
"
1
"
);
int
row
=
userMapper
.
insert
(
userEntity
);
log
.
info
(
"
成功插入{}条数据。{}
"
,
row
,
userEntity
);
return
row
;
}
UserEntity
userEntity
=
new
UserEntity
();
userEntity
.
setName
(
"
XC
"
).
setAge
(
18
).
setUserType
(
"
1
"
);
int
row
=
userMapper
.
insert
(
userEntity
);
log
.
info
(
"
成功插入{}条数据。{}
"
,
row
,
userEntity
);
```
### 修改
```
jsx
public
void
aUpdate
()
{
log
.
info
(
"
更新数据...
"
);
//方式1
userMapper
.
updateById
(
new
UserEntity
().
setId
(
1
L
).
setName
(
"
XC2
"
));
//方式2
LambdaUpdateWrapper
<
UserEntity
>
updateWrapper
=
Wrappers
.
lambdaUpdate
();
updateWrapper
.
set
(
UserEntity
::
getAge
,
100
);
updateWrapper
.
eq
(
UserEntity
::
getId
,
2
L
);
userMapper
.
update
(
null
,
updateWrapper
);
//方式2简写
userMapper
.
update
(
null
,
Wrappers
.
<
UserEntity
>
lambdaUpdate
().
set
(
UserEntity
::
getName
,
"
XC2
"
).
eq
(
UserEntity
::
getId
,
3
L
));
//方式3
UserEntity
userEntity
=
new
UserEntity
();
userEntity
.
setName
(
"
XC2
"
);
userMapper
.
update
(
userEntity
,
Wrappers
.
<
UserEntity
>
lambdaUpdate
().
eq
(
UserEntity
::
getId
,
4
L
));
}
//方式1
userMapper
.
updateById
(
new
UserEntity
().
setId
(
1
L
).
setName
(
"
XC2
"
));
//方式2
LambdaUpdateWrapper
<
UserEntity
>
updateWrapper
=
Wrappers
.
lambdaUpdate
();
updateWrapper
.
set
(
UserEntity
::
getAge
,
100
);
updateWrapper
.
eq
(
UserEntity
::
getId
,
2
L
);
userMapper
.
update
(
null
,
updateWrapper
);
//方式2简写
userMapper
.
update
(
null
,
Wrappers
.
<
UserEntity
>
lambdaUpdate
().
set
(
UserEntity
::
getName
,
"
XC2
"
).
eq
(
UserEntity
::
getId
,
3
L
));
//方式3
UserEntity
userEntity
=
new
UserEntity
();
userEntity
.
setName
(
"
XC2
"
);
userMapper
.
update
(
userEntity
,
Wrappers
.
<
UserEntity
>
lambdaUpdate
().
eq
(
UserEntity
::
getId
,
4
L
));
```
### 删除
```
jsx
public
void
aDelete
()
{
log
.
info
(
"
删除数据...
"
);
//方式1
userMapper
.
deleteById
(
1000
L
);
//方式2
userMapper
.
deleteBatchIds
(
Arrays
.
asList
(
1000
L
,
1001
L
));
//方式3
userMapper
.
delete
(
Wrappers
.
<
UserEntity
>
lambdaQuery
().
ge
(
UserEntity
::
getAge
,
150
));
//方式4
userMapper
.
deleteById
(
new
UserEntity
().
setId
(
2000
L
));
}
//方式1
userMapper
.
deleteById
(
1000
L
);
//方式2
userMapper
.
deleteBatchIds
(
Arrays
.
asList
(
1000
L
,
1001
L
));
//方式3
userMapper
.
delete
(
Wrappers
.
<
UserEntity
>
lambdaQuery
().
ge
(
UserEntity
::
getAge
,
150
));
//方式4
userMapper
.
deleteById
(
new
UserEntity
().
setId
(
2000
L
));
```
### 简单查询
```
jsx
public
void
aSelect
()
{
log
.
info
(
"
查询数据...
"
);
//方式1
UserEntity
userEntity
=
userMapper
.
selectById
(
1
L
);
//方式2
UserEntity
userEntity1
=
userMapper
.
selectOne
(
Wrappers
.
<
UserEntity
>
lambdaQuery
().
eq
(
UserEntity
::
getId
,
1
L
));
//方式3
List
<
UserEntity
>
userEntities
=
userMapper
.
selectBatchIds
(
Arrays
.
asList
(
1
L
,
2
L
));
//方式4
Integer
age
=
100
;
LambdaQueryWrapper
<
UserEntity
>
lambdaQueryWrapper
=
Wrappers
.
lambdaQuery
();
//动态组合查询条件的简便写法
lambdaQueryWrapper
.
between
(
ObjectUtil
.
isNotEmpty
(
age
),
UserEntity
::
getAge
,
1
,
age
);
lambdaQueryWrapper
.
eq
(
UserEntity
::
getUserType
,
"
1
"
);
lambdaQueryWrapper
.
orderByDesc
(
UserEntity
::
getId
);
List
<
UserEntity
>
userEntities1
=
userMapper
.
selectList
(
lambdaQueryWrapper
);
//方式5
QueryWrapper
queryWrapper
=
Wrappers
.
query
();
queryWrapper
.
select
(
"
id
"
).
ge
(
"
age
"
,
10
).
orderByDesc
(
"
age
"
);
List
<
Long
>
ids
=
(
List
)
userMapper
.
selectObjs
(
queryWrapper
);
//或
LambdaQueryWrapper
<
UserRoleEntity
>
lambdaQueryWrapper
=
Wrappers
.
lambdaQuery
();
lambdaQueryWrapper
.
select
(
UserRoleEntity
::
getRoleId
).
eq
(
UserRoleEntity
::
getUserId
,
userId
);
roleIds
=
(
List
)
userRoleMapper
.
selectObjs
(
lambdaQueryWrapper
);
//方式6
List
<
Map
<
String
,
Object
>>
userMaps
=
userMapper
.
selectMaps
(
Wrappers
.
<
UserEntity
>
lambdaQuery
().
eq
(
UserEntity
::
getUserType
,
"
1
"
));
//方式7 count 查询
Long
cnt
=
userMapper
.
selectCount
(
Wrappers
.
<
UserEntity
>
lambdaQuery
().
le
(
UserEntity
::
getGmtCreate
,
DateUtil
.
date
()));
//方式8 group 查询
QueryWrapper
<
UserEntity
>
queryWrapper1
=
Wrappers
.
query
();
queryWrapper1
.
select
(
"
age, count(id) as cnt
"
).
groupBy
(
"
age
"
);
List
<
Map
<
String
,
Object
>>
mapList
=
userMapper
.
selectMaps
(
queryWrapper1
);
//方式9 or 查询
if
(
ObjectUtil
.
isNotEmpty
(
keyword
)){
lambdaQueryWrapper
.
and
(
w
->
w
.
like
(
UserEntity
::
getName
,
keyword
).
or
().
like
(
UserEntity
::
getUserName
,
keyword
));
}
//方式1
UserEntity
userEntity
=
userMapper
.
selectById
(
1
L
);
//方式2
UserEntity
userEntity1
=
userMapper
.
selectOne
(
Wrappers
.
<
UserEntity
>
lambdaQuery
().
eq
(
UserEntity
::
getId
,
1
L
));
//方式3 (需要注意对传入 ID 集合为非空判断,否则生成的 SQL in() 语法将报错)
if
(
CollUtil
.
isNotEmpty
(
userIds
)){
userEntities
=
userMapper
.
selectBatchIds
(
userIds
);
}
//方式4
LambdaQueryWrapper
<
UserEntity
>
lambdaQueryWrapper
=
Wrappers
.
lambdaQuery
();
//动态组合查询条件的简便写法
lambdaQueryWrapper
.
between
(
ObjectUtil
.
isNotEmpty
(
age
),
UserEntity
::
getAge
,
1
,
age
);
lambdaQueryWrapper
.
eq
(
UserEntity
::
getUserType
,
"
1
"
);
lambdaQueryWrapper
.
orderByDesc
(
UserEntity
::
getId
);
List
<
UserEntity
>
userEntities1
=
userMapper
.
selectList
(
lambdaQueryWrapper
);
//方式5
LambdaQueryWrapper
<
UserRoleEntity
>
lambdaQueryWrapper
=
Wrappers
.
lambdaQuery
();
lambdaQueryWrapper
.
eq
(
UserRoleEntity
::
getUserId
,
userId
).
orderByDesc
(
UserRoleEntity
::
getRoleId
);
List
<
UserRoleEntity
>
userRoleEntities
=
userRoleMapper
.
selectList
(
lambdaQueryWrapper
);
List
<
Long
>
roleIds
=
userRoleEntities
.
stream
().
map
(
UserRoleEntity
::
getRoleId
).
collect
(
Collectors
.
toList
());
//方式6
List
<
Map
<
String
,
Object
>>
userMaps
=
userMapper
.
selectMaps
(
Wrappers
.
<
UserEntity
>
lambdaQuery
().
eq
(
UserEntity
::
getUserType
,
"
1
"
));
//方式7 count 查询
Long
cnt
=
userMapper
.
selectCount
(
Wrappers
.
<
UserEntity
>
lambdaQuery
().
le
(
UserEntity
::
getGmtCreate
,
DateUtil
.
date
()));
//方式8 group 查询
QueryWrapper
<
UserEntity
>
queryWrapper1
=
Wrappers
.
query
();
queryWrapper1
.
select
(
"
age, count(id) as cnt
"
).
groupBy
(
"
age
"
);
List
<
Map
<
String
,
Object
>>
mapList
=
userMapper
.
selectMaps
(
queryWrapper1
);
//方式9 or 查询
if
(
ObjectUtil
.
isNotEmpty
(
keyword
)){
lambdaQueryWrapper
.
and
(
w
->
w
.
like
(
UserEntity
::
getName
,
keyword
).
or
().
like
(
UserEntity
::
getUserName
,
keyword
));
}
//方式10 指定查询字段
LambdaQueryWrapper
<
UserEntity
>
lambdaQueryWrapper
=
Wrappers
.
lambdaQuery
();
lambdaQueryWrapper
.
select
(
UserEntity
::
getId
,
UserEntity
::
getUserName
);
lambdaQueryWrapper
.
eq
(...);
//方式11 排除查询字段
lambdaQueryWrapper
.
select
(
UserEntity
.
class
,
info
->
!
info
.
getColumn
().
equals
(
"
password
"
)
&&
!
info
.
getColumn
().
equals
(
"
password2
"
));
```
### 分页查询
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录