1.介绍
官网
说起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方法
增加@Mapper注解
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);
}
}
报错
查看后台发现生成的表名不对(此时还没有发现根本问题),修改了mapper文件表名后测试
仍然报错
解决,通过查报错发现原来是表的命名问题mysql 中表和数据库名称不要使用 ‘-’ 命名
修改后测试
当然这只是mybatisx 插件的基本使用,至于其他用法还是要看官网说明咯。