Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
Y
yzg-util
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
YZG
yzg-util
Commits
66ce363d
Commit
66ce363d
authored
Dec 02, 2019
by
yanzg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接口文档的支持
parent
de659968
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
48 additions
and
40 deletions
+48
-40
BaseDao.java
yzg-util-db/src/main/java/com/yanzuoguang/dao/BaseDao.java
+11
-0
BaseDaoImpl.java
...b/src/main/java/com/yanzuoguang/dao/impl/BaseDaoImpl.java
+37
-40
No files found.
yzg-util-db/src/main/java/com/yanzuoguang/dao/BaseDao.java
View file @
66ce363d
...
@@ -80,6 +80,17 @@ public interface BaseDao {
...
@@ -80,6 +80,17 @@ public interface BaseDao {
*/
*/
<
T
extends
Object
>
PageSizeData
<
T
>
loadPage
(
PageSizeReqVo
model
,
Class
<
T
>
resultClass
);
<
T
extends
Object
>
PageSizeData
<
T
>
loadPage
(
PageSizeReqVo
model
,
Class
<
T
>
resultClass
);
/**
* 加载分页数据
*
* @param pageReq 分页数据信息
* @param model 加载数据的请求参数,可以是主键字符串(Int),或者是包含主键的实体,或者是包含其他非主键的实体完全匹配.
* @param resultClass 需要加载的数据的类型
* @param <T> 返回数据的类型
* @return 需要返回的数据
*/
<
T
extends
Object
>
PageSizeData
<
T
>
loadPage
(
PageSizeReqVo
pageReq
,
Object
model
,
Class
<
T
>
resultClass
);
/**
/**
* 修改数据
* 修改数据
*
*
...
...
yzg-util-db/src/main/java/com/yanzuoguang/dao/impl/BaseDaoImpl.java
View file @
66ce363d
...
@@ -356,6 +356,21 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -356,6 +356,21 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
return
from
;
return
from
;
}
}
private
<
T
extends
Object
>
void
checkLoadResult
(
T
toItem
,
List
<
T
>
tos
)
{
// 判断来源主键是否存在,不存在则获取加载后的主键
if
(
toItem
!=
null
)
{
String
key
=
this
.
getKeyString
(
toItem
);
check
(
DaoConst
.
OPERATOR_TYPE_LOAD
,
key
,
toItem
);
}
if
(
tos
!=
null
)
{
for
(
T
item
:
tos
)
{
String
key
=
this
.
getKeyString
(
item
);
check
(
DaoConst
.
OPERATOR_TYPE_LOAD
,
key
,
item
);
}
}
}
/**
/**
* 加载数据
* 加载数据
*
*
...
@@ -372,15 +387,11 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -372,15 +387,11 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
// 通过传入数据进行加载
// 通过传入数据进行加载
T
to
=
this
.
queryFirst
(
resultClass
,
DaoConst
.
LOAD
,
from
);
T
to
=
this
.
queryFirst
(
resultClass
,
DaoConst
.
LOAD
,
from
);
if
(
to
==
null
)
{
if
(
to
==
null
)
{
return
to
;
return
null
;
}
}
// 判断来源主键是否存在,不存在则获取加载后的主键
// 判断来源主键是否存在,不存在则获取加载后的主键
if
(
StringHelper
.
isEmpty
(
key
))
{
checkLoadResult
(
to
,
null
);
key
=
this
.
getKeyString
(
to
);
}
check
(
DaoConst
.
OPERATOR_TYPE_LOAD
,
key
,
to
);
return
to
;
return
to
;
}
}
...
@@ -397,14 +408,8 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -397,14 +408,8 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
@Override
@Override
public
<
T
extends
Object
>
List
<
T
>
loadList
(
Object
model
,
Class
<
T
>
resultClass
)
{
public
<
T
extends
Object
>
List
<
T
>
loadList
(
Object
model
,
Class
<
T
>
resultClass
)
{
// 获取来源主键
// 获取来源主键
Object
from
=
model
;
String
key
=
this
.
getInputKey
(
model
);
String
key
=
this
.
getInputKey
(
from
);
Object
from
=
this
.
getLoadFrom
(
model
);
// 当主键存在时,只通过主键加载
if
(!
StringHelper
.
isEmpty
(
key
))
{
from
=
new
HashMap
<
String
,
Object
>(
DaoConst
.
COLLECTION_INIT_SIZE
);
this
.
setKeyString
(
from
,
key
);
}
// 通过传入数据进行加载
// 通过传入数据进行加载
List
<
T
>
to
=
this
.
query
(
resultClass
,
DaoConst
.
LOAD
,
from
);
List
<
T
>
to
=
this
.
query
(
resultClass
,
DaoConst
.
LOAD
,
from
);
...
@@ -412,15 +417,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -412,15 +417,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
// 判断来源主键是否存在,不存在则获取加载后的主键
checkLoadResult
(
null
,
to
);
if
(
StringHelper
.
isEmpty
(
key
))
{
check
(
DaoConst
.
OPERATOR_TYPE_LOAD
,
key
,
to
);
}
else
{
for
(
Object
item
:
to
)
{
key
=
this
.
getKeyString
(
item
);
check
(
DaoConst
.
OPERATOR_TYPE_LOAD
,
key
,
to
);
}
}
return
to
;
return
to
;
}
}
...
@@ -436,31 +433,31 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -436,31 +433,31 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
*/
*/
@Override
@Override
public
<
T
extends
Object
>
PageSizeData
<
T
>
loadPage
(
PageSizeReqVo
model
,
Class
<
T
>
resultClass
)
{
public
<
T
extends
Object
>
PageSizeData
<
T
>
loadPage
(
PageSizeReqVo
model
,
Class
<
T
>
resultClass
)
{
// 获取来源主键
return
this
.
loadPage
(
model
,
model
,
resultClass
);
Object
from
=
model
;
}
String
key
=
this
.
getInputKey
(
from
);
// 当主键存在时,只通过主键加载
/**
if
(!
StringHelper
.
isEmpty
(
key
))
{
* 加载分页数据
from
=
new
HashMap
<
String
,
Object
>(
DaoConst
.
COLLECTION_INIT_SIZE
);
*
this
.
setKeyString
(
from
,
key
);
* @param model 加载数据的请求参数
}
* @param resultClass 需要加载的数据的类型
* @param <T> 返回数据的类型
* @return 需要返回的数据
*/
@Override
public
<
T
extends
Object
>
PageSizeData
<
T
>
loadPage
(
PageSizeReqVo
pageReq
,
Object
model
,
Class
<
T
>
resultClass
)
{
// 获取来源主键
String
key
=
this
.
getInputKey
(
model
);
Object
from
=
this
.
getLoadFrom
(
model
);
// 通过传入数据进行加载
// 通过传入数据进行加载
PageSizeData
<
T
>
to
=
this
.
queryPage
(
resultClass
,
model
,
DaoConst
.
LOAD
,
from
);
PageSizeData
<
T
>
to
=
this
.
queryPage
(
resultClass
,
pageReq
,
DaoConst
.
LOAD
,
from
);
if
(
to
==
null
||
to
.
getPageTotal
()
==
0
)
{
if
(
to
==
null
||
to
.
getPageTotal
()
==
0
)
{
return
to
;
return
to
;
}
}
// 判断来源主键是否存在,不存在则获取加载后的主键
// 判断来源主键是否存在,不存在则获取加载后的主键
if
(
StringHelper
.
isEmpty
(
key
))
{
checkLoadResult
(
null
,
to
.
getList
());
check
(
DaoConst
.
OPERATOR_TYPE_LOAD
,
key
,
to
);
}
else
{
for
(
Object
item
:
to
.
getList
())
{
key
=
this
.
getKeyString
(
item
);
check
(
DaoConst
.
OPERATOR_TYPE_LOAD
,
key
,
to
);
}
}
return
to
;
return
to
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment