Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mybatis-generator-plugin
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
Administrator
mybatis-generator-plugin
Commits
f9b08c87
Commit
f9b08c87
authored
Jul 31, 2017
by
hewei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
UpsertPlugin 测试用例
parent
214abe4d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
4 deletions
+58
-4
src/test/java/com/itfsw/mybatis/generator/plugins/UpsertPluginTest.java
...com/itfsw/mybatis/generator/plugins/UpsertPluginTest.java
+58
-4
No files found.
src/test/java/com/itfsw/mybatis/generator/plugins/UpsertPluginTest.java
View file @
f9b08c87
...
...
@@ -78,13 +78,13 @@ public class UpsertPluginTest {
tb
.
set
(
"field2"
,
5
);
// sql
String
sql
=
SqlHelper
.
getFormatMapperSql
(
tbMapper
.
getObject
(),
"upsert
Selective
"
,
tb
.
getObject
());
Assert
.
assertEquals
(
sql
,
"insert into tb (
id, field1, field2 ) values ( 10, 'ts1', 5 ) on duplicate key update id = 10, field1 = 'ts1',
field2 = 5"
);
Object
result
=
tbMapper
.
invoke
(
"upsert
Selective
"
,
tb
.
getObject
());
String
sql
=
SqlHelper
.
getFormatMapperSql
(
tbMapper
.
getObject
(),
"upsert"
,
tb
.
getObject
());
Assert
.
assertEquals
(
sql
,
"insert into tb (
id, field1, field2) values (10, 'ts1', 5) on duplicate key update id = 10, field1 = 'ts1',
field2 = 5"
);
Object
result
=
tbMapper
.
invoke
(
"upsert"
,
tb
.
getObject
());
Assert
.
assertEquals
(
result
,
1
);
tb
.
set
(
"field2"
,
20
);
tbMapper
.
invoke
(
"upsert
Selective
"
,
tb
.
getObject
());
tbMapper
.
invoke
(
"upsert"
,
tb
.
getObject
());
ResultSet
rs
=
DBHelper
.
execute
(
sqlSession
,
"select * from tb where id = 10"
);
rs
.
first
();
...
...
@@ -92,4 +92,58 @@ public class UpsertPluginTest {
}
});
}
/**
* 测试 upsertWithBLOBs
*/
@Test
public
void
testUpsertWithBLOBs
()
throws
IOException
,
XMLParserException
,
InvalidConfigurationException
,
InterruptedException
,
SQLException
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/UpsertPlugin/mybatis-generator.xml"
);
tool
.
generate
(
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 多个 blob
ObjectUtil
TbBlobsMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbBlobsMapper"
)));
ObjectUtil
TbBlobsWithBLOBs
=
new
ObjectUtil
(
loader
,
packagz
+
".TbBlobsWithBLOBs"
);
TbBlobsWithBLOBs
.
set
(
"id"
,
10
l
);
TbBlobsWithBLOBs
.
set
(
"field1"
,
"ts1"
);
TbBlobsWithBLOBs
.
set
(
"field2"
,
"ts2"
);
// sql
String
sql
=
SqlHelper
.
getFormatMapperSql
(
TbBlobsMapper
.
getObject
(),
"upsertWithBLOBs"
,
TbBlobsWithBLOBs
.
getObject
());
Assert
.
assertEquals
(
sql
,
"insert into tb_blobs (id, field1, field2, field3) values (10, 'ts1', 'ts2', 'null') on duplicate key update id = 10, field1 = 'ts1', field2 = 'ts2', field3 = 'null'"
);
Object
result
=
TbBlobsMapper
.
invoke
(
"upsertWithBLOBs"
,
TbBlobsWithBLOBs
.
getObject
());
Assert
.
assertEquals
(
result
,
1
);
TbBlobsWithBLOBs
.
set
(
"field2"
,
"ts3"
);
TbBlobsMapper
.
invoke
(
"upsertWithBLOBs"
,
TbBlobsWithBLOBs
.
getObject
());
ResultSet
rs
=
DBHelper
.
execute
(
sqlSession
,
"select * from tb_blobs where id = 10"
);
rs
.
first
();
Assert
.
assertEquals
(
rs
.
getString
(
"field2"
),
"ts3"
);
// 1. 单个blob
ObjectUtil
TbSingleBlobMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbSingleBlobMapper"
)));
ObjectUtil
TbSingleBlob
=
new
ObjectUtil
(
loader
,
packagz
+
".TbSingleBlob"
);
TbSingleBlob
.
set
(
"id"
,
10
l
);
TbSingleBlob
.
set
(
"field1"
,
"ts1"
);
TbSingleBlob
.
set
(
"field2"
,
3
);
// sql
sql
=
SqlHelper
.
getFormatMapperSql
(
TbSingleBlobMapper
.
getObject
(),
"upsertWithBLOBs"
,
TbSingleBlob
.
getObject
());
Assert
.
assertEquals
(
sql
,
"insert into tb_single_blob (id, field2, field1) values (10, 3, 'ts1' ) on duplicate key update id = 10, field2 = 3, field1 = 'ts1'"
);
result
=
TbSingleBlobMapper
.
invoke
(
"upsertWithBLOBs"
,
TbSingleBlob
.
getObject
());
Assert
.
assertEquals
(
result
,
1
);
TbSingleBlob
.
set
(
"field1"
,
"ts2"
);
TbSingleBlobMapper
.
invoke
(
"upsertWithBLOBs"
,
TbSingleBlob
.
getObject
());
rs
=
DBHelper
.
execute
(
sqlSession
,
"select * from tb_single_blob where id = 10"
);
rs
.
first
();
Assert
.
assertEquals
(
rs
.
getString
(
"field1"
),
"ts2"
);
}
});
}
}
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