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
6c458a09
Commit
6c458a09
authored
May 08, 2018
by
hewei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
略微优化下测试用例执行效率
parent
d7eb5937
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
127 additions
and
76 deletions
+127
-76
src/test/java/com/itfsw/mybatis/generator/plugins/IncrementsPluginTest.java
...itfsw/mybatis/generator/plugins/IncrementsPluginTest.java
+9
-9
src/test/java/com/itfsw/mybatis/generator/plugins/OptimisticLockerPluginTest.java
...mybatis/generator/plugins/OptimisticLockerPluginTest.java
+32
-32
src/test/java/com/itfsw/mybatis/generator/plugins/SelectSelectivePluginTest.java
.../mybatis/generator/plugins/SelectSelectivePluginTest.java
+11
-11
src/test/java/com/itfsw/mybatis/generator/plugins/UpsertPluginTest.java
...com/itfsw/mybatis/generator/plugins/UpsertPluginTest.java
+15
-7
src/test/java/com/itfsw/mybatis/generator/plugins/tools/DBHelper.java
...a/com/itfsw/mybatis/generator/plugins/tools/DBHelper.java
+60
-17
No files found.
src/test/java/com/itfsw/mybatis/generator/plugins/IncrementsPluginTest.java
View file @
6c458a09
...
...
@@ -63,7 +63,7 @@ public class IncrementsPluginTest {
@Test
public
void
testModelBuilderMethod
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/IncrementsPlugin/mybatis-generator.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 测试生成的方法
...
...
@@ -112,7 +112,7 @@ public class IncrementsPluginTest {
@Test
public
void
testSqlAndExecute
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/IncrementsPlugin/mybatis-generator.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
...
...
@@ -214,7 +214,7 @@ public class IncrementsPluginTest {
@Test
public
void
testWithSelectiveEnhancedPlugin
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/IncrementsPlugin/mybatis-generator-with-selective-enhanced-plugin.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 测试updateByExampleSelective
...
...
@@ -307,7 +307,7 @@ public class IncrementsPluginTest {
@Test
public
void
testWithUpsertPlugin
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/IncrementsPlugin/mybatis-generator-with-upsert-plugin.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbMapper"
)));
...
...
@@ -399,7 +399,7 @@ public class IncrementsPluginTest {
@Test
public
void
testWithAutoDelimitKeywords
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/IncrementsPlugin/mybatis-generator-with-autoDelimitKeywords.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 测试updateByExample、updateByExampleSelective
...
...
@@ -433,7 +433,7 @@ public class IncrementsPluginTest {
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/IncrementsPlugin/mybatis-generator-with-upsert-and-selective-enhanced-plugin.xml"
);
// upsertSelective 基于原生非空判断
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbMapper"
)));
...
...
@@ -459,7 +459,7 @@ public class IncrementsPluginTest {
});
// upsertByExampleSelective 基于原生非空判断
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 测试updateByExampleSelective
...
...
@@ -499,7 +499,7 @@ public class IncrementsPluginTest {
});
// upsertSelective 基于指定字段
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbMapper"
)));
...
...
@@ -536,7 +536,7 @@ public class IncrementsPluginTest {
});
// upsertByExampleSelective 基于指定字段
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/IncrementsPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 测试updateByExampleSelective
...
...
src/test/java/com/itfsw/mybatis/generator/plugins/OptimisticLockerPluginTest.java
View file @
6c458a09
This diff is collapsed.
Click to expand it.
src/test/java/com/itfsw/mybatis/generator/plugins/SelectSelectivePluginTest.java
View file @
6c458a09
...
...
@@ -50,7 +50,7 @@ public class SelectSelectivePluginTest {
public
void
testSelectByExampleSelective
()
throws
Exception
{
// 一些基础测试
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/SelectSelectivePlugin/mybatis-generator.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 测试sql
...
...
@@ -111,7 +111,7 @@ public class SelectSelectivePluginTest {
}
});
// 测试Selective不传
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbMapper"
)));
...
...
@@ -134,7 +134,7 @@ public class SelectSelectivePluginTest {
}
});
// 测试WithBLOBs的情况
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbBlobsMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbBlobsMapper"
)));
...
...
@@ -167,7 +167,7 @@ public class SelectSelectivePluginTest {
}
});
// 测试Key的情况
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbKeysMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbKeysMapper"
)));
...
...
@@ -209,7 +209,7 @@ public class SelectSelectivePluginTest {
public
void
testSelectByPrimaryKeySelective
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/SelectSelectivePlugin/mybatis-generator.xml"
);
// 一些基础测试
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 测试sql
...
...
@@ -243,7 +243,7 @@ public class SelectSelectivePluginTest {
}
});
// 测试Selective不传
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbMapper"
)));
...
...
@@ -261,7 +261,7 @@ public class SelectSelectivePluginTest {
}
});
// 测试WithBLOBs的情况
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbBlobsMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbBlobsMapper"
)));
...
...
@@ -289,7 +289,7 @@ public class SelectSelectivePluginTest {
}
});
// 测试Key的情况
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbKeysMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbKeysMapper"
)));
...
...
@@ -368,7 +368,7 @@ public class SelectSelectivePluginTest {
});
// 测试Selective不传
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbMapper"
)));
...
...
@@ -390,7 +390,7 @@ public class SelectSelectivePluginTest {
}
});
// 测试WithBLOBs的情况
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbBlobsMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbBlobsMapper"
)));
...
...
@@ -422,7 +422,7 @@ public class SelectSelectivePluginTest {
}
});
// 测试Key的情况
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/SelectSelectivePlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbKeysMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbKeysMapper"
)));
...
...
src/test/java/com/itfsw/mybatis/generator/plugins/UpsertPluginTest.java
View file @
6c458a09
...
...
@@ -19,6 +19,7 @@ package com.itfsw.mybatis.generator.plugins;
import
com.itfsw.mybatis.generator.plugins.tools.*
;
import
org.apache.ibatis.session.SqlSession
;
import
org.junit.Assert
;
import
org.junit.BeforeClass
;
import
org.junit.Test
;
import
org.mybatis.generator.exception.InvalidConfigurationException
;
import
org.mybatis.generator.exception.XMLParserException
;
...
...
@@ -36,6 +37,13 @@ import java.sql.SQLException;
* ---------------------------------------------------------------------------
*/
public
class
UpsertPluginTest
{
/**
* 初始化
*/
@BeforeClass
public
static
void
init
()
throws
Exception
{
DBHelper
.
createDB
(
"scripts/UpsertPlugin/init.sql"
);
}
/**
* 测试配置异常
...
...
@@ -59,7 +67,7 @@ public class UpsertPluginTest {
@Test
public
void
testUpsert
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/UpsertPlugin/mybatis-generator.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbMapper"
)));
...
...
@@ -91,7 +99,7 @@ public class UpsertPluginTest {
@Test
public
void
testUpsertWithBLOBs
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/UpsertPlugin/mybatis-generator.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 多个 blob
...
...
@@ -145,7 +153,7 @@ public class UpsertPluginTest {
@Test
public
void
testUpsertSelective
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/UpsertPlugin/mybatis-generator.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 普通
...
...
@@ -184,7 +192,7 @@ public class UpsertPluginTest {
@Test
public
void
testUpsertByExample
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/UpsertPlugin/mybatis-generator.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
ObjectUtil
tbMapper
=
new
ObjectUtil
(
sqlSession
.
getMapper
(
loader
.
loadClass
(
packagz
+
".TbMapper"
)));
...
...
@@ -220,7 +228,7 @@ public class UpsertPluginTest {
@Test
public
void
testUpsertByExampleWithBLOBs
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/UpsertPlugin/mybatis-generator.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 多个 blob
...
...
@@ -281,7 +289,7 @@ public class UpsertPluginTest {
@Test
public
void
testUpsertByExampleSelective
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/UpsertPlugin/mybatis-generator.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// 1. 普通
...
...
@@ -326,7 +334,7 @@ public class UpsertPluginTest {
@Test
public
void
testWithIdentityAndGeneratedAlwaysColumns
()
throws
Exception
{
MyBatisGeneratorTool
tool
=
MyBatisGeneratorTool
.
create
(
"scripts/UpsertPlugin/mybatis-generator.xml"
);
tool
.
generate
(()
->
DBHelper
.
create
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
tool
.
generate
(()
->
DBHelper
.
reset
DB
(
"scripts/UpsertPlugin/init.sql"
),
new
AbstractShellCallback
()
{
@Override
public
void
reloadProject
(
SqlSession
sqlSession
,
ClassLoader
loader
,
String
packagz
)
throws
Exception
{
// ------------------------------------------ upsert ---------------------------------------------------
...
...
src/test/java/com/itfsw/mybatis/generator/plugins/tools/DBHelper.java
View file @
6c458a09
...
...
@@ -37,15 +37,24 @@ import java.util.Properties;
public
class
DBHelper
{
private
static
final
String
DB_CONFIG
=
"db.properties"
;
public
static
Properties
properties
;
// 数据库信息
private
static
Connection
connection
;
// 数据库连接
private
static
String
dbLock
;
static
{
try
{
// 获取数据库配置信息
properties
=
new
Properties
();
InputStream
inputStream
=
Resources
.
getResourceAsStream
(
DB_CONFIG
);
properties
.
load
(
inputStream
);
inputStream
.
close
();
}
catch
(
IOException
e
)
{
try
(
InputStream
inputStream
=
Resources
.
getResourceAsStream
(
DB_CONFIG
))
{
properties
.
load
(
inputStream
);
}
// 数据库连接
String
driver
=
properties
.
getProperty
(
"driver"
);
String
url
=
properties
.
getProperty
(
"url"
);
String
username
=
properties
.
getProperty
(
"username"
);
String
password
=
properties
.
getProperty
(
"password"
);
Class
.
forName
(
driver
);
connection
=
DriverManager
.
getConnection
(
url
,
username
,
password
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
...
...
@@ -53,19 +62,43 @@ public class DBHelper {
/**
* 创建数据库
* @param resource
* @throws ClassNotFoundException
* @throws SQLException
* @throws IOException
*/
public
static
void
createDB
(
String
resource
)
throws
ClassNotFoundException
,
SQLException
,
IOException
{
String
driver
=
properties
.
getProperty
(
"driver"
);
String
url
=
properties
.
getProperty
(
"url"
);
String
username
=
properties
.
getProperty
(
"username"
);
String
password
=
properties
.
getProperty
(
"password"
);
// 获取connection
Class
.
forName
(
driver
);
public
static
void
createDB
(
String
resource
)
throws
SQLException
,
IOException
{
try
(
Statement
statement
=
connection
.
createStatement
();
// 获取建表和初始化sql
InputStream
inputStream
=
Resources
.
getResourceAsStream
(
resource
);
InputStreamReader
inputStreamReader
=
new
InputStreamReader
(
inputStream
,
"UTF-8"
);
BufferedReader
bufferedReader
=
new
BufferedReader
(
inputStreamReader
);
)
{
// 读取sql语句执行
StringBuffer
sb
=
new
StringBuffer
();
String
line
;
while
((
line
=
bufferedReader
.
readLine
())
!=
null
)
{
if
(!
line
.
startsWith
(
"--"
))
{
sb
.
append
(
line
).
append
(
"\n"
);
}
}
statement
.
execute
(
sb
.
toString
());
dbLock
=
resource
;
}
}
/**
* 重置数据库
* @param resource
* @throws SQLException
* @throws IOException
*/
public
static
void
resetDB
(
String
resource
)
throws
Exception
{
if
(
dbLock
==
null
||
!
dbLock
.
equals
(
resource
))
{
throw
new
Exception
(
"重置数据库只能重置已锁定的!"
);
}
try
(
Connection
connection
=
DriverManager
.
getConnection
(
url
,
username
,
password
);
Statement
statement
=
connection
.
createStatement
();
// 获取建表和初始化sql
InputStream
inputStream
=
Resources
.
getResourceAsStream
(
resource
);
...
...
@@ -76,10 +109,20 @@ public class DBHelper {
StringBuffer
sb
=
new
StringBuffer
();
String
line
;
while
((
line
=
bufferedReader
.
readLine
())
!=
null
)
{
sb
.
append
(
line
).
append
(
"\n"
);
if
(
line
.
matches
(
".*;$"
))
{
statement
.
execute
(
sb
.
toString
());
sb
.
setLength
(
0
);
if
(!
line
.
startsWith
(
"--"
))
{
sb
.
append
(
line
).
append
(
"\n"
);
if
(
line
.
matches
(
".*;$\\s*"
))
{
String
sql
=
sb
.
toString
().
trim
();
if
(
sql
.
startsWith
(
"DROP"
))
{
statement
.
execute
(
sql
.
replace
(
"DROP TABLE IF EXISTS"
,
"TRUNCATE TABLE"
));
}
else
if
(!
sql
.
startsWith
(
"CREATE"
))
{
statement
.
execute
(
sql
);
}
sb
.
setLength
(
0
);
}
}
}
}
...
...
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