在Spring Boot中使用MyBatis并且自动生成代码,详细一看就懂

MyBatis目前是主流的数据访问层框架,我司目前的项目大部分都是用MyBatis。本文将使用Spring Boot快速创建项目,并且在Spring Boot中使用MyBatis,编写了一个根据区域id获取区域信息的接口例子。在最后,使用MyBatis的Generator自动生成代码。

0、新建Spring Boot项目

打开开发工具:IntelliJ IDEA,选择jdk 1.8以上。

点击File→New→Project...,选择Spring Initializr。

然后next:

next,选择Spring Boot的一个版本,如1.5.2,勾选web、MyBatis和Mysql

最后finish完成项目创建。

1、建好经典的三层结构,controller存放控制层代码,service存放业务逻辑层代码,dao存放数据访问层代码,另外model存放实体类。

扫描二维码关注公众号,回复: 8053348 查看本文章

2、在application.properties文件中添加mybatis配置和mysql数据库连接配置

3、在Application.java应用启动类添加MapperScan注解

4、创建数据库表area

5、编写代码

实体类Area.java

AreaDao.java

mybatis的sql配置文件AreaMpper.xml

AreaService.java

AreaServiceImpl.java

最后是AreaController.java

编写代码后,整个结构是这样子的:

可以看到我把mybatis的sql配置文件也放在dao层中了,这样可以使目录结构清晰,但是如果这时候运行项目,就会报一个错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)......说找不到sql的配置文件。

原因:是idea对calsspath的规定,在idea中直接把资源文件放在src文件夹下是不能被找到的。

解决方法:

在idea上点击File -> Project Struture -> Modules -> Dependencies -> "+" -> JARS or directories -> 选择sql配置文件所在的包-> 弹出Choose Categories of Selected Files -> 勾选 -> OK

6、运行主类Application.java,访问接口:http://localhost:8080/area/getAreaInfo?id=1

浏览器访问接口
可以看到,直接返回了json数据。其实Spring Boot默认已经引用好了JackSon,不需要我们另外配置什么。而且Spring Boot已经封装好了spring mvc,不需要我们再去集成spring mvc。

至此,我们已经完成了一个根据区域id获取区域信息的接口例子。

=====================================这是分割线=============================================

其实。我们可以不用自己一个一个去写mybatis的sql文件,dao接口和实体类。可以利用mybaits的generator自动生成代码。在idea中使用mybatis generator要做一些设置。

0、在pom.xml中增加generator插件

1、在resources下增加generatorConfig.xml文件

2、在idea中添加一个generator插件运行选项。

首先,点击run→Edit Configurations...如下图

在弹出的窗口中点击“+”号,选择Maven,填写Name和Command line,如下图

点击ok完成设置。

点击Run generator,就会自动生成代码。

========以上是一个基础的教程,希望喜欢。

猜你喜欢

转载自www.cnblogs.com/jsyg123/p/11974073.html