Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
7ef6209c
提交
7ef6209c
authored
2月 04, 2023
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
infra:完善 DatabaseTableServiceImpl 单元测试
上级
d5bd4998
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
113 行增加
和
4 行删除
+113
-4
CodegenColumnDO.java
.../module/infra/dal/dataobject/codegen/CodegenColumnDO.java
+16
-1
CodegenTableDO.java
...o/module/infra/dal/dataobject/codegen/CodegenTableDO.java
+5
-0
DatabaseTableServiceImpl.java
...dao/module/infra/service/db/DatabaseTableServiceImpl.java
+1
-1
DatabaseTableServiceImplTest.java
...module/infra/service/db/DatabaseTableServiceImplTest.java
+89
-0
create_tables.sql
...module-infra-biz/src/test/resources/sql/create_tables.sql
+2
-2
没有找到文件。
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenColumnDO.java
浏览文件 @
7ef6209c
...
...
@@ -39,27 +39,38 @@ public class CodegenColumnDO extends BaseDO {
/**
* 字段名
*
* 关联 {@link TableField#getName()}
*/
private
String
columnName
;
/**
* 数据库字段类型
*
* 关联 {@link TableField.MetaInfo#getJdbcType()}
*/
private
String
dataType
;
/**
* 字段描述
*
* 关联 {@link TableField#getComment()}
*/
private
String
columnComment
;
/**
* 是否允许为空
*
* 关联 {@link TableField.MetaInfo#isNullable()}
*/
private
Boolean
nullable
;
/**
* 是否主键
*
* 关联 {@link TableField#isKeyFlag()}
*/
private
Boolean
primaryKey
;
/**
* 是否自增
*
* 关联 {@link TableField#isKeyIdentityFlag()}
*/
private
Boolean
autoIncrement
;
/**
...
...
@@ -71,12 +82,16 @@ public class CodegenColumnDO extends BaseDO {
/**
* Java 属性类型
*
<p>
*
* 例如说 String、Boolean 等等
*
* 关联 {@link TableField#getColumnType()}
*/
private
String
javaType
;
/**
* Java 属性名
*
* 关联 {@link TableField#getPropertyName()}
*/
private
String
javaField
;
/**
...
...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenTableDO.java
浏览文件 @
7ef6209c
...
...
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.infra.enums.codegen.CodegenSceneEnum;
import
cn.iocoder.yudao.module.infra.enums.codegen.CodegenTemplateTypeEnum
;
import
com.baomidou.mybatisplus.annotation.KeySequence
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.generator.config.po.TableInfo
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
...
...
@@ -44,10 +45,14 @@ public class CodegenTableDO extends BaseDO {
/**
* 表名称
*
* 关联 {@link TableInfo#getName()}
*/
private
String
tableName
;
/**
* 表描述
*
* 关联 {@link TableInfo#getComment()}
*/
private
String
tableComment
;
/**
...
...
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/db/DatabaseTableServiceImpl.java
浏览文件 @
7ef6209c
...
...
@@ -41,7 +41,7 @@ public class DatabaseTableServiceImpl implements DatabaseTableService {
return
CollUtil
.
getFirst
(
getTableList0
(
dataSourceConfigId
,
name
));
}
p
ublic
List
<
TableInfo
>
getTableList0
(
Long
dataSourceConfigId
,
String
name
)
{
p
rivate
List
<
TableInfo
>
getTableList0
(
Long
dataSourceConfigId
,
String
name
)
{
// 获得数据源配置
DataSourceConfigDO
config
=
dataSourceConfigService
.
getDataSourceConfig
(
dataSourceConfigId
);
Assert
.
notNull
(
config
,
"数据源({}) 不存在!"
,
dataSourceConfigId
);
...
...
yudao-module-infra/yudao-module-infra-biz/src/test/java/cn/iocoder/yudao/module/infra/service/db/DatabaseTableServiceImplTest.java
0 → 100644
浏览文件 @
7ef6209c
package
cn
.
iocoder
.
yudao
.
module
.
infra
.
service
.
db
;
import
cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest
;
import
cn.iocoder.yudao.module.infra.dal.dataobject.db.DataSourceConfigDO
;
import
com.baomidou.mybatisplus.generator.config.po.TableField
;
import
com.baomidou.mybatisplus.generator.config.po.TableInfo
;
import
com.baomidou.mybatisplus.generator.config.rules.DbColumnType
;
import
org.apache.ibatis.type.JdbcType
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.mock.mockito.MockBean
;
import
org.springframework.context.annotation.Import
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
test
.
core
.
util
.
RandomUtils
.
randomLongId
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.*;
import
static
org
.
mockito
.
ArgumentMatchers
.
eq
;
import
static
org
.
mockito
.
Mockito
.
when
;
@Import
(
DatabaseTableServiceImpl
.
class
)
public
class
DatabaseTableServiceImplTest
extends
BaseDbUnitTest
{
@Resource
private
DatabaseTableServiceImpl
databaseTableService
;
@MockBean
private
DataSourceConfigService
dataSourceConfigService
;
@Test
public
void
testGetTableList
()
{
// 准备参数
Long
dataSourceConfigId
=
randomLongId
();
// mock 方法
DataSourceConfigDO
dataSourceConfig
=
new
DataSourceConfigDO
().
setUsername
(
"sa"
).
setPassword
(
""
)
.
setUrl
(
"jdbc:h2:mem:testdb"
);
when
(
dataSourceConfigService
.
getDataSourceConfig
(
eq
(
dataSourceConfigId
)))
.
thenReturn
(
dataSourceConfig
);
// 调用
List
<
TableInfo
>
tables
=
databaseTableService
.
getTableList
(
dataSourceConfigId
,
"config"
,
"参数"
);
// 断言
assertEquals
(
1
,
tables
.
size
());
assertTableInfo
(
tables
.
get
(
0
));
}
@Test
public
void
testGetTable
()
{
// 准备参数
Long
dataSourceConfigId
=
randomLongId
();
// mock 方法
DataSourceConfigDO
dataSourceConfig
=
new
DataSourceConfigDO
().
setUsername
(
"sa"
).
setPassword
(
""
)
.
setUrl
(
"jdbc:h2:mem:testdb"
);
when
(
dataSourceConfigService
.
getDataSourceConfig
(
eq
(
dataSourceConfigId
)))
.
thenReturn
(
dataSourceConfig
);
// 调用
TableInfo
tableInfo
=
databaseTableService
.
getTable
(
dataSourceConfigId
,
"infra_config"
);
// 断言
assertTableInfo
(
tableInfo
);
}
private
void
assertTableInfo
(
TableInfo
tableInfo
)
{
assertEquals
(
"infra_config"
,
tableInfo
.
getName
());
assertEquals
(
"参数配置表"
,
tableInfo
.
getComment
());
assertEquals
(
13
,
tableInfo
.
getFields
().
size
());
// id 字段
TableField
idField
=
tableInfo
.
getFields
().
get
(
0
);
assertEquals
(
"id"
,
idField
.
getName
());
assertEquals
(
JdbcType
.
BIGINT
,
idField
.
getMetaInfo
().
getJdbcType
());
assertEquals
(
"编号"
,
idField
.
getComment
());
assertFalse
(
idField
.
getMetaInfo
().
isNullable
());
assertTrue
(
idField
.
isKeyFlag
());
assertTrue
(
idField
.
isKeyIdentityFlag
());
assertEquals
(
DbColumnType
.
LONG
,
idField
.
getColumnType
());
assertEquals
(
"id"
,
idField
.
getPropertyName
());
// name 字段
TableField
nameField
=
tableInfo
.
getFields
().
get
(
3
);
assertEquals
(
"name"
,
nameField
.
getName
());
assertEquals
(
JdbcType
.
VARCHAR
,
nameField
.
getMetaInfo
().
getJdbcType
());
assertEquals
(
"名字"
,
nameField
.
getComment
());
assertFalse
(
nameField
.
getMetaInfo
().
isNullable
());
assertFalse
(
nameField
.
isKeyFlag
());
assertFalse
(
nameField
.
isKeyIdentityFlag
());
assertEquals
(
DbColumnType
.
STRING
,
nameField
.
getColumnType
());
assertEquals
(
"name"
,
nameField
.
getPropertyName
());
}
}
yudao-module-infra/yudao-module-infra-biz/src/test/resources/sql/create_tables.sql
浏览文件 @
7ef6209c
CREATE
TABLE
IF
NOT
EXISTS
"infra_config"
(
"id"
bigint
(
20
)
NOT
NULL
GENERATED
BY
DEFAULT
AS
IDENTITY
,
"id"
bigint
(
20
)
NOT
NULL
GENERATED
BY
DEFAULT
AS
IDENTITY
COMMENT
'编号'
,
"category"
varchar
(
50
)
NOT
NULL
,
"type"
tinyint
NOT
NULL
,
"name"
varchar
(
100
)
NOT
NULL
DEFAULT
''
,
"name"
varchar
(
100
)
NOT
NULL
DEFAULT
''
COMMENT
'名字'
,
"config_key"
varchar
(
100
)
NOT
NULL
DEFAULT
''
,
"value"
varchar
(
500
)
NOT
NULL
DEFAULT
''
,
"visible"
bit
NOT
NULL
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论