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
37d70485
Commit
37d70485
authored
May 07, 2019
by
yanzg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
消除成功接收处理
parent
d367dd7b
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
155 additions
and
101 deletions
+155
-101
ByteHelper.java
...src/main/java/com/yanzuoguang/util/helper/ByteHelper.java
+23
-6
CodePwdImpl.java
...il-db/src/main/java/com/yanzuoguang/code/CodePwdImpl.java
+4
-2
DaoConst.java
yzg-util-db/src/main/java/com/yanzuoguang/dao/DaoConst.java
+57
-0
BaseDaoImpl.java
...b/src/main/java/com/yanzuoguang/dao/impl/BaseDaoImpl.java
+10
-10
BaseDaoSql.java
...db/src/main/java/com/yanzuoguang/dao/impl/BaseDaoSql.java
+14
-12
SqlData.java
...il-db/src/main/java/com/yanzuoguang/dao/impl/SqlData.java
+3
-1
TableFieldVo.java
.../src/main/java/com/yanzuoguang/dao/impl/TableFieldVo.java
+3
-1
TableSqlCache.java
...src/main/java/com/yanzuoguang/dao/impl/TableSqlCache.java
+8
-8
TableStruct.java
...b/src/main/java/com/yanzuoguang/dao/impl/TableStruct.java
+33
-61
No files found.
yzg-util-base/src/main/java/com/yanzuoguang/util/helper/ByteHelper.java
View file @
37d70485
...
@@ -11,6 +11,23 @@ import com.yanzuoguang.util.exception.CodeException;
...
@@ -11,6 +11,23 @@ import com.yanzuoguang.util.exception.CodeException;
*/
*/
public
class
ByteHelper
{
public
class
ByteHelper
{
/**
* 每个字节所占用的字符串的长度
*/
public
static
final
int
BYTE_STRING_SIZE
=
2
;
/**
* 16进制转换标识
*/
public
static
final
int
BYTE_HEX_UNIT
=
16
;
/**
* 10进制转换单位
*/
public
static
final
int
BYTE_TEN_UNIT
=
10
;
/**
* BCD标识
*/
public
static
final
int
BCD_MAX_FLAG
=
100
;
// --------------------------------------- toLH -------------------------------------
// --------------------------------------- toLH -------------------------------------
/**
/**
...
@@ -491,9 +508,9 @@ public class ByteHelper {
...
@@ -491,9 +508,9 @@ public class ByteHelper {
* @return 返回转换成功的字符串 如: [0x00,0x01]
* @return 返回转换成功的字符串 如: [0x00,0x01]
*/
*/
public
static
byte
[]
fromHexString1
(
String
from
)
{
public
static
byte
[]
fromHexString1
(
String
from
)
{
byte
[]
bytes
=
new
byte
[
from
.
length
()
/
2
];
byte
[]
bytes
=
new
byte
[
from
.
length
()
/
BYTE_STRING_SIZE
];
for
(
int
i
=
0
;
i
<
from
.
length
()
/
2
;
i
++)
{
for
(
int
i
=
0
;
i
<
from
.
length
()
/
BYTE_STRING_SIZE
;
i
++)
{
int
b
=
Integer
.
parseInt
(
from
.
substring
(
i
*
2
,
i
*
2
+
2
),
16
);
int
b
=
Integer
.
parseInt
(
from
.
substring
(
i
*
BYTE_STRING_SIZE
,
i
*
BYTE_STRING_SIZE
+
BYTE_STRING_SIZE
),
BYTE_HEX_UNIT
);
bytes
[
i
]
=
(
byte
)
b
;
bytes
[
i
]
=
(
byte
)
b
;
}
}
return
bytes
;
return
bytes
;
...
@@ -522,10 +539,10 @@ public class ByteHelper {
...
@@ -522,10 +539,10 @@ public class ByteHelper {
* @return 转换之后的值
* @return 转换之后的值
*/
*/
public
static
byte
toBCD
(
int
from
)
{
public
static
byte
toBCD
(
int
from
)
{
if
(
from
>=
100
)
{
if
(
from
>=
BCD_MAX_FLAG
)
{
throw
new
CodeException
(
"整形转换成字节的PCD码必须小于100"
);
throw
new
CodeException
(
"整形转换成字节的PCD码必须小于100"
);
}
}
byte
bt
=
(
byte
)
((
from
/
10
*
16
)
+
from
%
10
);
byte
bt
=
(
byte
)
((
from
/
BYTE_TEN_UNIT
*
BYTE_HEX_UNIT
)
+
from
%
BYTE_TEN_UNIT
);
return
bt
;
return
bt
;
}
}
...
@@ -536,6 +553,6 @@ public class ByteHelper {
...
@@ -536,6 +553,6 @@ public class ByteHelper {
* @return 转换之后的值
* @return 转换之后的值
*/
*/
public
static
int
fromBCD
(
byte
from
)
{
public
static
int
fromBCD
(
byte
from
)
{
return
(
from
/
16
)
*
10
+
from
%
16
;
return
(
from
/
BYTE_HEX_UNIT
)
*
BYTE_TEN_UNIT
+
from
%
BYTE_HEX_UNIT
;
}
}
}
}
yzg-util-db/src/main/java/com/yanzuoguang/code/CodePwdImpl.java
View file @
37d70485
package
com
.
yanzuoguang
.
code
;
package
com
.
yanzuoguang
.
code
;
import
com.yanzuoguang.util.helper.ByteHelper
;
/**
/**
* 加密算法0版实现
* 加密算法0版实现
*/
*/
...
@@ -54,8 +56,8 @@ public class CodePwdImpl implements CodePwd {
...
@@ -54,8 +56,8 @@ public class CodePwdImpl implements CodePwd {
for
(
int
i
=
0
;
i
<
randDaySize
;
i
++)
{
for
(
int
i
=
0
;
i
<
randDaySize
;
i
++)
{
dayChars
[
i
]
=
randDay
.
charAt
(
i
);
dayChars
[
i
]
=
randDay
.
charAt
(
i
);
}
}
for
(
int
i
=
0
;
i
<
randDaySize
/
2
;
i
++)
{
for
(
int
i
=
0
;
i
<
randDaySize
/
ByteHelper
.
BYTE_STRING_SIZE
;
i
++)
{
if
(
i
%
2
==
0
)
{
if
(
i
%
ByteHelper
.
BYTE_STRING_SIZE
==
0
)
{
int
to
=
randDaySize
-
i
-
1
;
int
to
=
randDaySize
-
i
-
1
;
dayChars
[
to
]
=
randDay
.
charAt
(
i
);
dayChars
[
to
]
=
randDay
.
charAt
(
i
);
dayChars
[
i
]
=
randDay
.
charAt
(
to
);
dayChars
[
i
]
=
randDay
.
charAt
(
to
);
...
...
yzg-util-db/src/main/java/com/yanzuoguang/dao/DaoConst.java
View file @
37d70485
...
@@ -59,4 +59,61 @@ public class DaoConst {
...
@@ -59,4 +59,61 @@ public class DaoConst {
* 原字段
* 原字段
*/
*/
public
static
final
int
ROW_NAME_TYPE_NO_CHANGE
=
1
;
public
static
final
int
ROW_NAME_TYPE_NO_CHANGE
=
1
;
/**
* 主键自增为0
*/
public
static
final
String
ZERO
=
"0"
;
/**
* 单位地址
*/
public
static
final
int
CODE_UNIT
=
2
;
/**
* 表名代码片段
*/
public
static
final
String
TABLE_CODE
=
"{TABLE}"
;
/**
* 字段代码片段
*/
public
static
final
String
FIELD_CODE
=
"{FIELD}"
;
/**
* 值代码片段
*/
public
static
final
String
VALUES_CODE
=
"{VALUES}"
;
/**
* WHERE条件代码片段
*/
public
static
final
String
WHERE_CODE
=
"{WHERE}"
;
/**
* 插入SQL语句模板
*/
public
static
final
String
INSERT_MODEL
=
"INSERT INTO {TABLE}({FIELD}) VALUES({VALUES})"
;
/**
* 更新SQL语句模板
*/
public
static
final
String
UPDATE_MODEL
=
"UPDATE {TABLE} SET {FIELD} WHERE 1=1 {WHERE}"
;
/**
* 删除SQL语句模板
*/
public
static
final
String
REMOVE_MODEL
=
"DELETE FROM {TABLE} WHERE 1=1 {WHERE}"
;
/**
* 加载SQL语句模板
*/
public
static
final
String
LOAD_MODEL
=
"SELECT a.*{FIELD} FROM {TABLE} AS a {INNER} WHERE 1=1 {WHERE}"
;
/**
* 版本号字段名称
*/
public
static
final
String
VERSON
=
"verson"
;
/**
* 删除字段名称
*/
public
static
final
String
ISREMOVE
=
"isremove"
;
/**
* 删除字符串长度变量
*/
public
static
final
String
ISREMOVE_CONTANS
=
"contans____isremove"
;
/**
* ID字段
*/
public
static
final
String
ID_FIELD
=
"id"
;
}
}
yzg-util-db/src/main/java/com/yanzuoguang/dao/impl/BaseDaoImpl.java
View file @
37d70485
...
@@ -39,7 +39,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -39,7 +39,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
if
(
this
.
table
==
null
)
{
if
(
this
.
table
==
null
)
{
throw
new
CodeException
(
"类"
+
this
.
getClass
().
getName
()
+
"未发现表结构"
);
throw
new
CodeException
(
"类"
+
this
.
getClass
().
getName
()
+
"未发现表结构"
);
}
}
return
this
.
table
.
table
.
getKeyName
();
return
this
.
table
.
getTable
()
.
getKeyName
();
}
}
/**
/**
...
@@ -55,7 +55,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -55,7 +55,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
return
""
;
return
""
;
}
}
String
keyString
=
key
.
toString
();
String
keyString
=
key
.
toString
();
if
(
"0"
.
equals
(
keyString
))
{
if
(
DaoConst
.
ZERO
.
equals
(
keyString
))
{
keyString
=
""
;
keyString
=
""
;
}
}
return
keyString
;
return
keyString
;
...
@@ -103,7 +103,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -103,7 +103,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
@Override
@Override
public
String
create
(
Object
model
)
{
public
String
create
(
Object
model
)
{
// 判断主键是字符串和需要生成主键
// 判断主键是字符串和需要生成主键
boolean
isKeyString
=
this
.
table
.
table
.
getKeyType
()
==
String
.
class
;
boolean
isKeyString
=
this
.
table
.
getTable
()
.
getKeyType
()
==
String
.
class
;
String
keyString
=
this
.
getKeyString
(
model
);
String
keyString
=
this
.
getKeyString
(
model
);
// 生成主键
// 生成主键
...
@@ -142,7 +142,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -142,7 +142,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
public
String
update
(
Object
model
)
{
public
String
update
(
Object
model
)
{
String
keyString
=
this
.
getKeyString
(
model
);
String
keyString
=
this
.
getKeyString
(
model
);
if
(
StringHelper
.
isEmpty
(
keyString
))
{
if
(
StringHelper
.
isEmpty
(
keyString
))
{
throw
new
CodeException
(
"表"
+
this
.
table
.
table
.
getName
()
+
"主键值为空时不能更新"
);
throw
new
CodeException
(
"表"
+
this
.
table
.
getTable
()
.
getName
()
+
"主键值为空时不能更新"
);
}
}
this
.
check
(
DaoConst
.
OPERATOR_TYPE_UPDATE
,
keyString
,
model
);
this
.
check
(
DaoConst
.
OPERATOR_TYPE_UPDATE
,
keyString
,
model
);
SqlData
sqlData
=
this
.
getSql
(
DaoConst
.
UPDATE
);
SqlData
sqlData
=
this
.
getSql
(
DaoConst
.
UPDATE
);
...
@@ -268,18 +268,18 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -268,18 +268,18 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
// 获取前台分组的MD5标识
// 获取前台分组的MD5标识
String
md5
=
this
.
getMd5
(
DaoConst
.
GROUP_QUERY
,
model
);
String
md5
=
this
.
getMd5
(
DaoConst
.
GROUP_QUERY
,
model
);
if
(!
StringHelper
.
isEmpty
(
this
.
table
.
table
.
getMD5KeyName
()))
{
if
(!
StringHelper
.
isEmpty
(
this
.
table
.
getTable
()
.
getMD5KeyName
()))
{
ObjectHelper
.
set
(
model
,
this
.
table
.
table
.
getMD5KeyName
(),
md5
);
ObjectHelper
.
set
(
model
,
this
.
table
.
getTable
()
.
getMD5KeyName
(),
md5
);
}
}
// 获取标识的实体
// 获取标识的实体
T
from
;
T
from
;
if
(
this
.
table
.
table
.
getKeyType
()
==
String
.
class
)
{
if
(
this
.
table
.
getTable
()
.
getKeyType
()
==
String
.
class
)
{
from
=
model
;
from
=
model
;
this
.
setKeyString
(
model
,
md5
);
this
.
setKeyString
(
model
,
md5
);
}
else
if
(!
StringHelper
.
isEmpty
(
this
.
table
.
table
.
getMD5KeyName
()))
{
}
else
if
(!
StringHelper
.
isEmpty
(
this
.
table
.
getTable
()
.
getMD5KeyName
()))
{
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
this
.
table
.
table
.
getMD5KeyName
(),
md5
);
map
.
put
(
this
.
table
.
getTable
()
.
getMD5KeyName
(),
md5
);
from
=
this
.
load
(
map
,
cls
);
from
=
this
.
load
(
map
,
cls
);
}
else
{
}
else
{
from
=
this
.
queryFirst
(
cls
,
DaoConst
.
GROUP_QUERY
,
model
);
from
=
this
.
queryFirst
(
cls
,
DaoConst
.
GROUP_QUERY
,
model
);
...
@@ -317,7 +317,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
...
@@ -317,7 +317,7 @@ public abstract class BaseDaoImpl extends BaseDaoSql implements BaseDao {
SqlData
sql
=
this
.
getSql
(
sqlName
);
SqlData
sql
=
this
.
getSql
(
sqlName
);
StringBuilder
sb
=
new
StringBuilder
();
StringBuilder
sb
=
new
StringBuilder
();
String
date
=
StringHelper
.
EMPTY
;
String
date
=
StringHelper
.
EMPTY
;
for
(
SqlDataField
field
:
sql
.
sqlDataFields
)
{
for
(
SqlDataField
field
:
sql
.
getSqlDataFields
()
)
{
if
(
sb
.
length
()
>
0
)
{
if
(
sb
.
length
()
>
0
)
{
sb
.
append
(
":"
);
sb
.
append
(
":"
);
}
}
...
...
yzg-util-db/src/main/java/com/yanzuoguang/dao/impl/BaseDaoSql.java
View file @
37d70485
package
com
.
yanzuoguang
.
dao
.
impl
;
package
com
.
yanzuoguang
.
dao
.
impl
;
import
com.yanzuoguang.dao.DaoConst
;
import
com.yanzuoguang.dao.TableAnnotation
;
import
com.yanzuoguang.dao.TableAnnotation
;
import
com.yanzuoguang.db.DbExecute
;
import
com.yanzuoguang.db.DbExecute
;
import
com.yanzuoguang.db.impl.DbRow
;
import
com.yanzuoguang.db.impl.DbRow
;
...
@@ -128,7 +129,7 @@ public abstract class BaseDaoSql {
...
@@ -128,7 +129,7 @@ public abstract class BaseDaoSql {
if
(
this
.
table
==
null
)
{
if
(
this
.
table
==
null
)
{
throw
new
CodeException
(
"类"
+
this
.
getClass
().
getName
()
+
"未发现表结构"
);
throw
new
CodeException
(
"类"
+
this
.
getClass
().
getName
()
+
"未发现表结构"
);
}
}
SqlData
sql
=
this
.
table
.
Sqls
.
get
(
name
);
SqlData
sql
=
this
.
table
.
getSqls
()
.
get
(
name
);
if
(
isThrow
&&
sql
==
null
)
{
if
(
isThrow
&&
sql
==
null
)
{
throw
new
CodeException
(
"类"
+
this
.
getClass
().
getName
()
+
"未发现SQL语句"
+
name
);
throw
new
CodeException
(
"类"
+
this
.
getClass
().
getName
()
+
"未发现SQL语句"
+
name
);
}
}
...
@@ -155,7 +156,7 @@ public abstract class BaseDaoSql {
...
@@ -155,7 +156,7 @@ public abstract class BaseDaoSql {
protected
int
updateSql
(
SqlData
sqlData
,
Object
model
)
{
protected
int
updateSql
(
SqlData
sqlData
,
Object
model
)
{
List
<
Object
>
paras
=
new
ArrayList
<
Object
>();
List
<
Object
>
paras
=
new
ArrayList
<
Object
>();
String
sql
=
this
.
getQueryPara
(
paras
,
sqlData
,
model
);
String
sql
=
this
.
getQueryPara
(
paras
,
sqlData
,
model
);
int
ret
=
db
.
update
(
this
.
getClass
(),
sqlData
.
name
,
sql
,
paras
.
toArray
());
int
ret
=
db
.
update
(
this
.
getClass
(),
sqlData
.
getName
()
,
sql
,
paras
.
toArray
());
this
.
onUpdateSql
(
model
);
this
.
onUpdateSql
(
model
);
return
ret
;
return
ret
;
}
}
...
@@ -181,9 +182,9 @@ public abstract class BaseDaoSql {
...
@@ -181,9 +182,9 @@ public abstract class BaseDaoSql {
* @return 查询的结果
* @return 查询的结果
*/
*/
protected
Object
queryCell
(
SqlData
sqlData
,
Object
model
)
{
protected
Object
queryCell
(
SqlData
sqlData
,
Object
model
)
{
List
<
Object
>
paras
=
new
ArrayList
<
Object
>();
List
<
Object
>
paras
=
new
ArrayList
<>();
String
sql
=
this
.
getQueryPara
(
paras
,
sqlData
,
model
);
String
sql
=
this
.
getQueryPara
(
paras
,
sqlData
,
model
);
Object
cell
=
this
.
queryCellWithCache
(
sql
,
sqlData
.
name
,
paras
.
toArray
());
Object
cell
=
this
.
queryCellWithCache
(
sql
,
sqlData
.
getName
()
,
paras
.
toArray
());
return
cell
;
return
cell
;
}
}
...
@@ -211,7 +212,7 @@ public abstract class BaseDaoSql {
...
@@ -211,7 +212,7 @@ public abstract class BaseDaoSql {
protected
<
T
extends
Object
>
List
<
T
>
queryData
(
Class
<
T
>
cls
,
SqlData
sqlData
,
Object
model
)
{
protected
<
T
extends
Object
>
List
<
T
>
queryData
(
Class
<
T
>
cls
,
SqlData
sqlData
,
Object
model
)
{
List
<
Object
>
paras
=
new
ArrayList
<
Object
>();
List
<
Object
>
paras
=
new
ArrayList
<
Object
>();
String
sql
=
this
.
getQueryPara
(
paras
,
sqlData
,
model
);
String
sql
=
this
.
getQueryPara
(
paras
,
sqlData
,
model
);
List
<
T
>
list
=
this
.
queryWithCache
(
cls
,
sqlData
.
name
,
sql
,
paras
.
toArray
());
List
<
T
>
list
=
this
.
queryWithCache
(
cls
,
sqlData
.
getName
()
,
sql
,
paras
.
toArray
());
return
list
;
return
list
;
}
}
...
@@ -227,7 +228,7 @@ public abstract class BaseDaoSql {
...
@@ -227,7 +228,7 @@ public abstract class BaseDaoSql {
List
<
Object
>
paras
=
new
ArrayList
<
Object
>();
List
<
Object
>
paras
=
new
ArrayList
<
Object
>();
String
sql
=
this
.
getQueryPara
(
paras
,
sqlData
,
model
);
String
sql
=
this
.
getQueryPara
(
paras
,
sqlData
,
model
);
// 查询数据
// 查询数据
db
.
query
(
this
.
getClass
(),
cls
,
handle
,
sqlData
.
name
,
sql
,
paras
);
db
.
query
(
this
.
getClass
(),
cls
,
handle
,
sqlData
.
getName
()
,
sql
,
paras
);
}
}
/**
/**
...
@@ -290,7 +291,7 @@ public abstract class BaseDaoSql {
...
@@ -290,7 +291,7 @@ public abstract class BaseDaoSql {
SqlData
from
=
this
.
getSql
(
sqlName
);
SqlData
from
=
this
.
getSql
(
sqlName
);
// 对SQL语句进行分页处理
// 对SQL语句进行分页处理
SqlData
to
=
from
.
copy
();
SqlData
to
=
from
.
copy
();
to
.
s
ql
=
from
.
sql
;
to
.
s
etSql
(
from
.
getSql
())
;
to
.
addCode
(
"{LIMIT}"
,
" LIMIT "
+
pageSize
.
getPageStart
()
+
","
+
pageSize
.
getPageSize
());
to
.
addCode
(
"{LIMIT}"
,
" LIMIT "
+
pageSize
.
getPageStart
()
+
","
+
pageSize
.
getPageSize
());
return
queryData
(
cls
,
to
,
model
);
return
queryData
(
cls
,
to
,
model
);
}
}
...
@@ -417,7 +418,7 @@ public abstract class BaseDaoSql {
...
@@ -417,7 +418,7 @@ public abstract class BaseDaoSql {
String
[]
lastCode
=
new
String
[]{
"{WHERE}"
,
"{GROUP}"
,
"{HAVING}"
,
"{ORDER}"
,
"{LIMIT}"
};
String
[]
lastCode
=
new
String
[]{
"{WHERE}"
,
"{GROUP}"
,
"{HAVING}"
,
"{ORDER}"
,
"{LIMIT}"
};
// 将SQL语句进行代码片段追加
// 将SQL语句进行代码片段追加
String
sql
=
sqlData
.
sql
;
String
sql
=
sqlData
.
getSql
()
;
for
(
String
code
:
lastCode
)
{
for
(
String
code
:
lastCode
)
{
if
(
sql
.
indexOf
(
code
)
==
-
1
)
{
if
(
sql
.
indexOf
(
code
)
==
-
1
)
{
sql
+=
code
;
sql
+=
code
;
...
@@ -425,9 +426,10 @@ public abstract class BaseDaoSql {
...
@@ -425,9 +426,10 @@ public abstract class BaseDaoSql {
}
}
// 处理字段以及代码片段
// 处理字段以及代码片段
Map
<
String
,
List
<
String
>>
codeMap
=
new
HashMap
<
String
,
List
<
String
>>();
// 代码片段缓存
// 代码片段缓存
Map
<
String
,
List
<
String
>>
codeMap
=
new
HashMap
<>();
// 循环处理字段
// 循环处理字段
for
(
SqlDataField
field
:
sqlData
.
sqlDataFields
)
{
for
(
SqlDataField
field
:
sqlData
.
getSqlDataFields
()
)
{
// 获取值
// 获取值
Object
val
=
ObjectHelper
.
get
(
model
,
field
.
paraName
);
Object
val
=
ObjectHelper
.
get
(
model
,
field
.
paraName
);
...
@@ -449,10 +451,10 @@ public abstract class BaseDaoSql {
...
@@ -449,10 +451,10 @@ public abstract class BaseDaoSql {
// 判断代码片段是否合法
// 判断代码片段是否合法
if
(
field
.
codes
.
size
()
%
2
==
1
)
{
if
(
field
.
codes
.
size
()
%
2
==
1
)
{
throw
new
CodeException
(
"代码片段"
+
this
.
getClass
().
getSimpleName
()
+
":"
+
sqlData
.
name
+
":"
+
field
.
paraName
+
"为单数"
);
throw
new
CodeException
(
"代码片段"
+
this
.
getClass
().
getSimpleName
()
+
":"
+
sqlData
.
getName
()
+
":"
+
field
.
paraName
+
"为单数"
);
}
}
// 处理代码片段
// 处理代码片段
for
(
int
i
=
0
;
i
<
field
.
codes
.
size
();
i
=
i
+
2
)
{
for
(
int
i
=
0
;
i
<
field
.
codes
.
size
();
i
=
i
+
DaoConst
.
CODE_UNIT
)
{
String
codeName
=
field
.
codes
.
get
(
i
);
String
codeName
=
field
.
codes
.
get
(
i
);
String
codeValue
=
field
.
codes
.
get
(
i
+
1
);
String
codeValue
=
field
.
codes
.
get
(
i
+
1
);
codeValue
=
codeValue
.
replaceAll
(
"\\?"
,
"@"
+
field
.
paraName
+
" "
);
codeValue
=
codeValue
.
replaceAll
(
"\\?"
,
"@"
+
field
.
paraName
+
" "
);
...
...
yzg-util-db/src/main/java/com/yanzuoguang/dao/impl/SqlData.java
View file @
37d70485
package
com
.
yanzuoguang
.
dao
.
impl
;
package
com
.
yanzuoguang
.
dao
.
impl
;
import
com.yanzuoguang.dao.DaoConst
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -229,7 +231,7 @@ public class SqlData {
...
@@ -229,7 +231,7 @@ public class SqlData {
* @return
* @return
*/
*/
public
SqlData
removeFieldRemove
()
{
public
SqlData
removeFieldRemove
()
{
this
.
removeField
(
TableStruc
t
.
ISREMOVE_CONTANS
);
this
.
removeField
(
DaoCons
t
.
ISREMOVE_CONTANS
);
return
this
;
return
this
;
}
}
...
...
yzg-util-db/src/main/java/com/yanzuoguang/dao/impl/TableFieldVo.java
View file @
37d70485
package
com
.
yanzuoguang
.
dao
.
impl
;
package
com
.
yanzuoguang
.
dao
.
impl
;
import
com.yanzuoguang.dao.DaoConst
;
/**
/**
* 表结构的基本信息
* 表结构的基本信息
* created by yanzu on 2017/5/30.
* created by yanzu on 2017/5/30.
...
@@ -7,7 +9,7 @@ package com.yanzuoguang.dao.impl;
...
@@ -7,7 +9,7 @@ package com.yanzuoguang.dao.impl;
public
class
TableFieldVo
{
public
class
TableFieldVo
{
public
TableFieldVo
()
{
public
TableFieldVo
()
{
this
(
"id"
);
this
(
DaoConst
.
ID_FIELD
);
}
}
public
TableFieldVo
(
String
name
)
{
public
TableFieldVo
(
String
name
)
{
...
...
yzg-util-db/src/main/java/com/yanzuoguang/dao/impl/TableSqlCache.java
View file @
37d70485
...
@@ -83,8 +83,8 @@ public class TableSqlCache {
...
@@ -83,8 +83,8 @@ public class TableSqlCache {
*/
*/
public
SqlData
addPageSize
(
SqlData
from
,
String
sql
)
{
public
SqlData
addPageSize
(
SqlData
from
,
String
sql
)
{
SqlData
to
=
from
.
copy
();
SqlData
to
=
from
.
copy
();
to
.
s
ql
=
sql
;
to
.
s
etSql
(
sql
)
;
to
.
name
+=
TableSqlCache
.
PAGE_SIZE_TAG
;
to
.
setName
(
to
.
getName
()
+
TableSqlCache
.
PAGE_SIZE_TAG
)
;
return
this
.
add
(
to
);
return
this
.
add
(
to
);
}
}
...
@@ -146,14 +146,14 @@ public class TableSqlCache {
...
@@ -146,14 +146,14 @@ public class TableSqlCache {
}
}
// 2. 判断所有纬度字段是否已经存在
// 2. 判断所有纬度字段是否已经存在
for
(
String
item
:
tableWhereField
.
fields
)
{
for
(
String
item
:
tableWhereField
.
getFields
()
)
{
String
name
=
item
.
toLowerCase
();
String
name
=
item
.
toLowerCase
();
if
(!
sqlFieldHas
.
containsKey
(
name
))
{
if
(!
sqlFieldHas
.
containsKey
(
name
))
{
throw
new
CodeException
(
"SQL语句"
+
item
+
"不存在纬度"
+
item
);
throw
new
CodeException
(
"SQL语句"
+
item
+
"不存在纬度"
+
item
);
}
}
sqlFieldWhere
.
put
(
name
,
true
);
sqlFieldWhere
.
put
(
name
,
true
);
}
}
for
(
String
item
:
addField
.
fields
)
{
for
(
String
item
:
addField
.
getFields
()
)
{
String
name
=
item
.
toLowerCase
();
String
name
=
item
.
toLowerCase
();
sqlFieldAdd
.
put
(
name
,
true
);
sqlFieldAdd
.
put
(
name
,
true
);
}
}
...
@@ -202,7 +202,7 @@ public class TableSqlCache {
...
@@ -202,7 +202,7 @@ public class TableSqlCache {
// 处理需要MD5的字段
// 处理需要MD5的字段
addString
(
map
,
"{FromField}"
,
"MD5(CONCAT("
);
addString
(
map
,
"{FromField}"
,
"MD5(CONCAT("
);
int
i
=
0
;
int
i
=
0
;
for
(
String
whereField
:
tableWhereField
.
fields
)
{
for
(
String
whereField
:
tableWhereField
.
getFields
()
)
{
if
(
i
>
0
)
{
if
(
i
>
0
)
{
addString
(
map
,
"{FromField}"
,
",':',"
);
addString
(
map
,
"{FromField}"
,
",':',"
);
}
}
...
@@ -239,13 +239,13 @@ public class TableSqlCache {
...
@@ -239,13 +239,13 @@ public class TableSqlCache {
// 最终SQL语句处理
// 最终SQL语句处理
selectModel
=
replaceString
(
map
,
selectModel
);
selectModel
=
replaceString
(
map
,
selectModel
);
addString
(
map
,
"{SelectSQL}"
,
selectModel
);
addString
(
map
,
"{SelectSQL}"
,
selectModel
);
sqlInit
.
s
ql
=
replaceString
(
map
,
initModel
);
sqlInit
.
s
etSql
(
replaceString
(
map
,
initModel
)
);
sqlAdd
.
s
ql
=
replaceString
(
map
,
addModel
);
sqlAdd
.
s
etSql
(
replaceString
(
map
,
addModel
)
);
this
.
add
(
sqlInit
);
this
.
add
(
sqlInit
);
this
.
add
(
sqlAdd
);
this
.
add
(
sqlAdd
);
List
<
SqlData
>
ret
=
new
ArrayList
<
SqlData
>();
List
<
SqlData
>
ret
=
new
ArrayList
<>();
ret
.
add
(
sqlInit
);
ret
.
add
(
sqlInit
);
ret
.
add
(
sqlAdd
);
ret
.
add
(
sqlAdd
);
return
ret
;
return
ret
;
...
...
yzg-util-db/src/main/java/com/yanzuoguang/dao/impl/TableStruct.java
View file @
37d70485
This diff is collapsed.
Click to expand it.
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