Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lijianghuflute
canal
提交
82b18ebe
canal
项目概览
lijianghuflute
/
canal
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
canal
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
82b18ebe
编写于
4月 16, 2021
作者:
W
WangCong
提交者:
GitHub
4月 16, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat unsigned bug (#3104)
上级
66408782
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
17 addition
and
21 deletion
+17
-21
client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/support/SyncUtil.java
...baba/otter/canal/client/adapter/rdb/support/SyncUtil.java
+17
-21
未找到文件。
client-adapter/rdb/src/main/java/com/alibaba/otter/canal/client/adapter/rdb/support/SyncUtil.java
浏览文件 @
82b18ebe
package
com.alibaba.otter.canal.client.adapter.rdb.support
;
package
com.alibaba.otter.canal.client.adapter.rdb.support
;
import
com.alibaba.otter.canal.client.adapter.rdb.config.MappingConfig
;
import
com.alibaba.otter.canal.client.adapter.support.Util
;
import
org.apache.commons.lang.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.io.Reader
;
import
java.io.Reader
;
import
java.io.StringReader
;
import
java.io.StringReader
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.nio.charset.StandardCharsets
;
import
java.nio.charset.StandardCharsets
;
import
java.sql.Blob
;
import
java.sql.*
;
import
java.sql.Clob
;
import
java.sql.Date
;
import
java.sql.PreparedStatement
;
import
java.sql.SQLException
;
import
java.sql.Time
;
import
java.sql.Timestamp
;
import
java.sql.Types
;
import
java.util.Collection
;
import
java.util.Collection
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
org.apache.commons.lang.StringUtils
;
import
com.alibaba.otter.canal.client.adapter.rdb.config.MappingConfig
;
import
com.alibaba.otter.canal.client.adapter.support.Util
;
public
class
SyncUtil
{
public
class
SyncUtil
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SyncUtil
.
class
);
public
static
Map
<
String
,
String
>
getColumnsMap
(
MappingConfig
.
DbMapping
dbMapping
,
Map
<
String
,
Object
>
data
)
{
public
static
Map
<
String
,
String
>
getColumnsMap
(
MappingConfig
.
DbMapping
dbMapping
,
Map
<
String
,
Object
>
data
)
{
return
getColumnsMap
(
dbMapping
,
data
.
keySet
());
return
getColumnsMap
(
dbMapping
,
data
.
keySet
());
...
@@ -93,37 +88,38 @@ public class SyncUtil {
...
@@ -93,37 +88,38 @@ public class SyncUtil {
}
}
break
;
break
;
case
Types
.
TINYINT
:
case
Types
.
TINYINT
:
// 向上提升一级,处理unsigned情况
if
(
value
instanceof
Number
)
{
if
(
value
instanceof
Number
)
{
pstmt
.
set
Byte
(
i
,
((
Number
)
value
).
byte
Value
());
pstmt
.
set
Short
(
i
,
((
Number
)
value
).
short
Value
());
}
else
if
(
value
instanceof
String
)
{
}
else
if
(
value
instanceof
String
)
{
pstmt
.
set
Byte
(
i
,
Byte
.
parseByte
((
String
)
value
));
pstmt
.
set
Short
(
i
,
Short
.
parseShort
((
String
)
value
));
}
else
{
}
else
{
pstmt
.
setNull
(
i
,
type
);
pstmt
.
setNull
(
i
,
type
);
}
}
break
;
break
;
case
Types
.
SMALLINT
:
case
Types
.
SMALLINT
:
if
(
value
instanceof
Number
)
{
if
(
value
instanceof
Number
)
{
pstmt
.
set
Short
(
i
,
((
Number
)
value
).
shor
tValue
());
pstmt
.
set
Int
(
i
,
((
Number
)
value
).
in
tValue
());
}
else
if
(
value
instanceof
String
)
{
}
else
if
(
value
instanceof
String
)
{
pstmt
.
set
Short
(
i
,
Short
.
parseShor
t
((
String
)
value
));
pstmt
.
set
Int
(
i
,
Integer
.
parseIn
t
((
String
)
value
));
}
else
{
}
else
{
pstmt
.
setNull
(
i
,
type
);
pstmt
.
setNull
(
i
,
type
);
}
}
break
;
break
;
case
Types
.
INTEGER
:
case
Types
.
INTEGER
:
if
(
value
instanceof
Number
)
{
if
(
value
instanceof
Number
)
{
pstmt
.
set
Int
(
i
,
((
Number
)
value
).
int
Value
());
pstmt
.
set
Long
(
i
,
((
Number
)
value
).
long
Value
());
}
else
if
(
value
instanceof
String
)
{
}
else
if
(
value
instanceof
String
)
{
pstmt
.
set
Int
(
i
,
Integer
.
parseInt
((
String
)
value
));
pstmt
.
set
Long
(
i
,
Long
.
parseLong
((
String
)
value
));
}
else
{
}
else
{
pstmt
.
setNull
(
i
,
type
);
pstmt
.
setNull
(
i
,
type
);
}
}
break
;
break
;
case
Types
.
BIGINT
:
case
Types
.
BIGINT
:
if
(
value
instanceof
Number
)
{
if
(
value
instanceof
Number
)
{
pstmt
.
set
Long
(
i
,
((
Number
)
value
).
longValue
(
));
pstmt
.
set
BigDecimal
(
i
,
new
BigDecimal
(
value
.
toString
()
));
}
else
if
(
value
instanceof
String
)
{
}
else
if
(
value
instanceof
String
)
{
pstmt
.
set
Long
(
i
,
Long
.
parseLong
((
String
)
value
));
pstmt
.
set
BigDecimal
(
i
,
new
BigDecimal
(
value
.
toString
()
));
}
else
{
}
else
{
pstmt
.
setNull
(
i
,
type
);
pstmt
.
setNull
(
i
,
type
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录