mybatisx 插件的踩坑使用

1.介绍

官网
说起mybatisx插件,之前一直听同事说多好用,多好用。然后就在同事的诱惑下安装了。安装后最明显的特征,你会发现你的Mapper文件和xml文件有了个mybatis的小图标,点击可以跳转怪方便的。不过工程代码当时早就已经写好了,所以就没有体验生成代码的功能。
然后这个插件就扔一边吃灰了…

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s8vpTJhh-1666572273170)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/96ac7c98351e4612b17a7dab3772c99f~tplv-k3u1fbpfcp-zoom-1.image)]

2.开始使用

因为要整一个小程序后台的项目,所以需要查询数据库,因此想到了使用mybatisx插件自动生成代码试试。

2.1 idea连接数据库

1.mybatisx插件需要用idea连接数据库 Database–DataSource–mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bdRGaVsj-1666572273174)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/45a3eee1115a41fc9b473aa2e0a2367c~tplv-k3u1fbpfcp-watermark.image?)]

2.输入数据库连接信息测试连接,然后报错(事实总不会一帆风顺。。。)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NA4L1gqt-1666572273176)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/286cb78664cd4d7d9134fd64ce40fc06~tplv-k3u1fbpfcp-watermark.image?)]

3.按照提示,服务器返回无效的时区。转到“高级”选项卡,手动设置“serverTimezone”属性。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a8QP88rc-1666572273179)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3b33308e5e934335948590e91ce1527a~tplv-k3u1fbpfcp-watermark.image?)]

4.设置时区如:UTC(美国) Hongkong (香港) 北京时间GMT%2B8、上海时间Asia/Shanghai
重新测试:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0nLH8VXi-1666572273180)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8117c7bd50344e9489cbae442c09623f~tplv-k3u1fbpfcp-watermark.image?)]

2.2 使用MybatisX插件

5.连接成功,选择要生成代码的数据表,右键MybatisX-Generator

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fOzdMkBp-1666572273182)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8f07f1baebab47d2bce8ebffe92de449~tplv-k3u1fbpfcp-watermark.image?)]

6.设置项目基本路径、包路径、编码格式,实体类包名称、实体类名,下一步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UXanBYdR-1666572273184)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b2c6180b84f14ebeb4e8dc9a6c6368a7~tplv-k3u1fbpfcp-watermark.image?)]

7.点击finish
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t14BdvVk-1666572273186)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/be34f21d9b72428793d6f0b4d56a3065~tplv-k3u1fbpfcp-watermark.image?)]

8.查看生成的代码:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xxEECQtm-1666572273187)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/db67bd854bd543a6b82a353be9f06498~tplv-k3u1fbpfcp-watermark.image?)]

9.生成后
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PkFbBWZ1-1666572273189)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bcda4a443525414da470f6b34a6cb567~tplv-k3u1fbpfcp-watermark.image?)]

2.3测试(翻车)

新增mapper方法

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o8iA5BBM-1666572273197)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5556e1e6f1f044aeb3c30d9a63bd6984~tplv-k3u1fbpfcp-watermark.image?)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2CjeMiTY-1666572273199)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/141ab969b0e6432c846b7ea05b4fdc30~tplv-k3u1fbpfcp-watermark.image?)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wKUDQoDb-1666572273202)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1808f505978e4997989b0756902ae249~tplv-k3u1fbpfcp-watermark.image?)]

增加@Mapper注解
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eWvLv9l3-1666572273204)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c64be449f8da4468915dc3a18bbcb667~tplv-k3u1fbpfcp-watermark.image?)]

TestController


import com.ctsi.sddx.mapper.XcxBookMapper;
import com.ctsi.sddx.pojo.XcxBook;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Author : lizzu
 * @create 2022/10/8 22:34
 */
@RestController
@RequestMapping("v1/weChat/")
public class TestController {

    @Resource
    XcxBookMapper xcxBookMapper;


    @GetMapping("/getInfo")
    public String getInfo(String userName){
        return "hello: "+userName;
    }


    @GetMapping("/getBookInfo")
    public List<XcxBook> findAllById (Integer id){
        return xcxBookMapper.findAllById(id);
    }
}

报错
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CIZIwMZ9-1666572273206)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8b194266a87c442ba0f58f190369bab0~tplv-k3u1fbpfcp-watermark.image?)]

查看后台发现生成的表名不对(此时还没有发现根本问题),修改了mapper文件表名后测试
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kvcFYyB7-1666572273208)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cf724cf82a904e3cbca0008b3ec5be0c~tplv-k3u1fbpfcp-watermark.image?)]

仍然报错
在这里插入图片描述

解决,通过查报错发现原来是表的命名问题mysql 中表和数据库名称不要使用 ‘-’ 命名

修改后测试
在这里插入图片描述

当然这只是mybatisx 插件的基本使用,至于其他用法还是要看官网说明咯。

参考资料

深入Node.js的模块加载机制,手写require函数 - 掘金 (juejin.cn)

mysql 中表和数据库名称不要使用 ‘-’ 命名

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于Mybatis插入SQL Server的操作,可以参考以下步骤: 1. 首先,你需要创建一个SqlSessionFactory对象,该对象是Mybatis的核心对象,用于管理数据库连接和执行SQL语句。 引用的代码展示了如何使用SqlSessionFactory来执行批量插入操作。你可以通过调用sqlSessionFactory.openSession()方法来获取一个SqlSession对象。 2. 在获取SqlSession对象之后,你可以使用SqlSession的insert方法来执行插入操作。你需要提供一个插入语句的ID(在Mybatis配置文件中定义),以及要插入的数据。 3. 如果你需要批量插入大量数据,可以考虑使用Mybatis的批量插入功能。引用的代码展示了如何使用批量插入功能。你可以通过设置ExecutorType.BATCH参数来开启批量插入模式,并在合适的位置调用flushStatements()方法来刷新缓存并执行批量插入操作。 4. 当插入大量数据时,为了提高性能,你可以考虑在Mybatis的配置文件中添加一些优化参数。引用的提到了在MySQL中需要追加参数rewriteBatchedStatements=true。 综上所述,你可以通过上述步骤来实现Mybatis插入SQL Server的操作。具体的代码实现和参数配置可以参考Mybatis的官方文档和相关资料。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MyBatis批量插入(sqlserver BULK INSERT)](https://blog.csdn.net/m0_37727363/article/details/117074167)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值