说起mybatisx插件,之前一直听同事说多好用,多好用。然后就在同事的诱惑下安装了。安装后最明显的特征,你会发现你的Mapper文件和xml文件有了个mybatis的小图标,点击可以跳转怪方便的。不过工程代码当时早就已经写好了,所以就没有体验生成代码的功能。
然后这个插件就扔一边吃灰了.....
2.开始使用
因为要整一个小程序后台的项目,所以需要查询数据库,因此想到了使用mybatisx插件自动生成代码试试。
2.1 idea连接数据库
1.mybatisx插件需要用idea连接数据库 Database--DataSource--mysql
2.输入数据库连接信息测试连接,然后报错(事实总不会一帆风顺。。。)
3.按照提示,服务器返回无效的时区。转到“高级”选项卡,手动设置“serverTimezone”属性。
4.设置时区如:UTC(美国) Hongkong (香港) 北京时间GMT%2B8、上海时间Asia/Shanghai
重新测试:
2.2 使用MybatisX插件
5.连接成功,选择要生成代码的数据表,右键MybatisX-Generator
6.设置项目基本路径、包路径、编码格式,实体类包名称、实体类名,下一步
7.点击finish
8.查看生成的代码:
9.生成后
2.3测试(翻车)
新增mapper方法
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);
查看后台发现生成的表名不对(此时还没有发现根本问题),修改了mapper文件表名后测试
解决,通过查报错发现原来是表的命名问题
mysql 中表和数据库名称不要使用 '-' 命名
修改后测试
当然这只是mybatisx 插件的基本使用,至于其他用法还是要看官网说明咯。
深入Node.js的模块加载机制,手写require函数 - 掘金 (juejin.cn)
mysql 中表和数据库名称不要使用 '-' 命名