Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-common-core
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-common-core
Commits
21db0953
提交
21db0953
authored
11月 07, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改稽查-增加6个竞品相关字段
上级
e959cd1b
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
185 行增加
和
0 行删除
+185
-0
BaseDao.java
src/main/java/com/sfa/common/core/domain/dao/BaseDao.java
+23
-0
BaseDaoImpl.java
...java/com/sfa/common/core/domain/dao/impl/BaseDaoImpl.java
+142
-0
StringUtils.java
src/main/java/com/sfa/common/core/utils/StringUtils.java
+20
-0
没有找到文件。
src/main/java/com/sfa/common/core/domain/dao/BaseDao.java
0 → 100644
浏览文件 @
21db0953
package
com
.
sfa
.
common
.
core
.
domain
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* 自定义BaseDao接口,继承MyBatis-Plus的BaseMapper,扩展通用方法
* @param <T> 实体类
*/
public
interface
BaseDao
<
T
>
extends
BaseMapper
<
T
>
{
// 扩展自定义通用方法(示例)
/**
* 批量插入(非MyBatis-Plus默认方法,自定义实现)
*/
int
batchInsert
(
List
<
T
>
list
);
/**
* 根据ID查询并锁定行(悲观锁)
*/
T
selectByIdForUpdate
(
Serializable
id
);
}
src/main/java/com/sfa/common/core/domain/dao/impl/BaseDaoImpl.java
0 → 100644
浏览文件 @
21db0953
package
com
.
sfa
.
common
.
core
.
domain
.
dao
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.sfa.common.core.domain.dao.BaseDao
;
import
org.apache.ibatis.session.SqlSession
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
java.io.Serializable
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
/**
* BaseDao实现类,实现自定义通用方法,复用MyBatis-Plus的BaseMapper能力
* @param <T> 实体类
*/
public
class
BaseDaoImpl
<
T
>
implements
BaseDao
<
T
>
{
// 注入当前实体对应的Mapper(由Spring自动注入,需在子类中指定具体Mapper)
// 直接使用 BaseMapper<T>
@Autowired
protected
BaseMapper
<
T
>
baseMapper
;
// 注入SqlSession,用于执行自定义SQL或批量操作(可选)
@Autowired
protected
SqlSession
sqlSession
;
// ------------------------------
// 复用MyBatis-Plus的BaseMapper方法(直接委托给baseMapper)
// ------------------------------
@Override
public
int
insert
(
T
entity
)
{
return
baseMapper
.
insert
(
entity
);
}
@Override
public
int
deleteById
(
Serializable
id
)
{
return
baseMapper
.
deleteById
(
id
);
}
@Override
public
int
deleteByMap
(
Map
<
String
,
Object
>
columnMap
)
{
return
baseMapper
.
deleteByMap
(
columnMap
);
}
@Override
public
int
delete
(
Wrapper
<
T
>
wrapper
)
{
return
baseMapper
.
delete
(
wrapper
);
}
@Override
public
int
deleteBatchIds
(
Collection
<?
extends
Serializable
>
idList
)
{
return
baseMapper
.
deleteBatchIds
(
idList
);
}
@Override
public
int
updateById
(
T
entity
)
{
return
baseMapper
.
updateById
(
entity
);
}
@Override
public
int
update
(
T
entity
,
Wrapper
<
T
>
updateWrapper
)
{
return
baseMapper
.
update
(
entity
,
updateWrapper
);
}
@Override
public
T
selectById
(
Serializable
id
)
{
return
baseMapper
.
selectById
(
id
);
}
@Override
public
List
<
T
>
selectBatchIds
(
Collection
<?
extends
Serializable
>
idList
)
{
return
baseMapper
.
selectBatchIds
(
idList
);
}
@Override
public
List
<
T
>
selectByMap
(
Map
<
String
,
Object
>
columnMap
)
{
return
baseMapper
.
selectByMap
(
columnMap
);
}
@Override
public
T
selectOne
(
Wrapper
<
T
>
queryWrapper
)
{
return
baseMapper
.
selectOne
(
queryWrapper
);
}
@Override
public
Integer
selectCount
(
Wrapper
<
T
>
queryWrapper
)
{
return
baseMapper
.
selectCount
(
queryWrapper
);
}
@Override
public
List
<
T
>
selectList
(
Wrapper
<
T
>
queryWrapper
)
{
return
baseMapper
.
selectList
(
queryWrapper
);
}
@Override
public
List
<
Map
<
String
,
Object
>>
selectMaps
(
Wrapper
<
T
>
queryWrapper
)
{
return
baseMapper
.
selectMaps
(
queryWrapper
);
}
@Override
public
List
<
Object
>
selectObjs
(
Wrapper
<
T
>
queryWrapper
)
{
return
baseMapper
.
selectObjs
(
queryWrapper
);
}
@Override
public
<
E
extends
IPage
<
T
>>
E
selectPage
(
E
page
,
Wrapper
<
T
>
queryWrapper
)
{
return
baseMapper
.
selectPage
(
page
,
queryWrapper
);
}
@Override
public
<
E
extends
IPage
<
Map
<
String
,
Object
>>>
E
selectMapsPage
(
E
page
,
Wrapper
<
T
>
queryWrapper
)
{
return
baseMapper
.
selectMapsPage
(
page
,
queryWrapper
);
}
// 其他BaseMapper方法(按需实现,或直接继承接口后委托)
// ------------------------------
// 实现自定义扩展方法
// ------------------------------
@Override
public
int
batchInsert
(
List
<
T
>
list
)
{
// 示例:通过SqlSession执行批量插入(需在Mapper.xml中定义batchInsert语句)
return
sqlSession
.
insert
(
getStatement
(
"batchInsert"
),
list
);
}
@Override
public
T
selectByIdForUpdate
(
Serializable
id
)
{
// 示例:查询并加锁(需在Mapper.xml中定义selectByIdForUpdate语句)
return
sqlSession
.
selectOne
(
getStatement
(
"selectByIdForUpdate"
),
id
);
}
// 辅助方法:获取Mapper接口中的方法全名(namespace + method)
private
String
getStatement
(
String
method
)
{
// 获取当前Mapper的类路径(如com.ruoyi.mapper.UserMapper)
String
className
=
baseMapper
.
getClass
().
getInterfaces
()[
0
].
getName
();
return
className
+
"."
+
method
;
}
}
src/main/java/com/sfa/common/core/utils/StringUtils.java
浏览文件 @
21db0953
package
com
.
sfa
.
common
.
core
.
utils
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.sfa.common.core.constant.Constants
;
import
com.sfa.common.core.text.StrFormatter
;
import
org.apache.commons.lang3.ObjectUtils
;
...
...
@@ -625,4 +626,23 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
}
return
null
;
}
/**
* 字符串数组转字符串
* @param dArr
* @return
*/
public
static
String
pArr
(
String
[]
dArr
){
return
dArr
==
null
?
null
:
dArr
.
length
==
0
?
""
:
org
.
apache
.
commons
.
lang3
.
StringUtils
.
join
(
dArr
,
","
);
}
/**
* map转字符串
* @param dMap
* @return
*/
public
static
String
mArr
(
Map
<
String
,
String
>
dMap
){
return
dMap
==
null
?
null
:
dMap
.
size
()
==
0
?
""
:
JSONObject
.
toJSONString
(
dMap
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论