mybatis plus SqlSession问题

发布于 2022-09-13 00:53:44 字数 1728 浏览 19 评论 0

最近使用springboot2.2.4、mybatis-plus-boot-starter3.1.1做一个连接mysql数据库的web项目遇到一个SqlSession创建问题,当我直接使用继承mybatis plus的ServiceImpl的方式来定义某张表的service类,例如:

其中DataStoreTableServiceImpl为自定义的Service实现类,ServiceImpl为mybatis plus提供的父类:

@Service
@Slf4j
public class DataStoreTableServiceImpl extends ServiceImpl<DataStoreTableMapper, DataStoreTable> implements DataStoreTableService {

}

然后我在对应的DataStoreController类中调用ServiceImpl提供的查询方法,例如:

    @GetMapping("/tables")
    @ApiOperation("列表查询表定义")
    public ResultResponse<List<DataStoreTable>> listTable(@ApiParam(value = "分组名称", allowableValues = "政务数据,经营数据,风险数据") @RequestParam(required = false) String group) {
        QueryWrapper<DataStoreTable> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("is_delete", 0);

        if (!StringUtils.isEmpty(group)) {
            queryWrapper.eq("group_name", group);
        }
        return new ResultResponse<List<DataStoreTable>().buildSuccessResult(dataStoreTableService.list(queryWrapper));
    }

控制台会输出以下日志,接口查询数据库成功:

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42c09d4b] was not registered for synchronization because synchronization is not active
JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@941382d] will not be managed by Spring

我有几个疑问:
1、出现以上日志是否表示我未正确配置mybatis的sqlsession?每次都创建新sqlsession是否会影响系统性能?
2、当我调用ServiceImpl类中使用@Transcational注解的saverOrUpdate、batchInsert等方法时不会出现以上日志而是显示:

JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@941382d] managed by Spring

这个是否表示第1点提到的问题仅仅是因为调用没使用@Transcational注解的正常现象?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

囍孤女 2022-09-20 00:53:44

是的是的是的是的

醉态萌生 2022-09-20 00:53:44

以前看到过这段日志,当时没有仔细分析过,也来讨论讨论。日志只是说sqlSession 并没有同步,并不能说明sqlSession 配置错误吧,查询是不需要同步的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文