Spring Boot结合Mybatis框架的使用

333 阅读4分钟

Spring Boot框架是Spring框架和Spring MVC框架的集合,在使用Spring Boot框架之前,我们最常用的开发框架就是SSM框架、SSH框架。

SSM:Spring、Spring MVC、Mybatis
SSH:Spring、Spring MVC、Hibernate

上面说了,Spring Boot框架是Spring框架和Spring MVC框架的集合,那等我们使用Spring Boot框架开发的时候,结合Mybatis框架或者Hibernate框架就必不可少。那么在Spring Boot开发中是如何结合Mybatis的呢?

首先是步骤:

一、起步依赖
    选择web、mybatis、mysql依赖
二、创建数据库
三、创建实体类
    字段与数据库表字段一致
四、写dao接口
    使用@mapper注解,或者在配置类中进行配置:
    1、使用@mapper注解的话,在接口进行注解;
    2、使用@MapperScan注解,在配置类中进行配置,@MapperScan(basePackages = {"com.yuqn.dao"}),basepackages的值为接口所在包的路径,可以有多个
五、写mapper文件
    一般写在resources文件下,并且在application.properties中进行配置,配置如下:
    mybatis.mapper-locations=classpath:mapper/*.xml
六、写service接口
七、写service实现类
八、写控制器类
九、写编译插件
    <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
    </resources>
十、写配置文件,添加数据库配置
    #注册驱动
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    #连接数据库
    spring.datasource.url=jdbc:mysql://localhost:3306/springbootmybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
    #账号
    spring.datasource.username=root
    #密码
    spring.datasource.password=iamanidiot

逻辑清楚之后,代码就简单多了。

一、起步依赖

创建一个Spring Boot项目,选择依赖:web下的Spring Web、SQL下的MyBatis Framework、SQL下的MySQL Driver。

注:MyBatis Framework是mybatis框架依赖。
    MySQL Driver是mysql依赖。

image.png

image.png

二、创建数据库

这里创建一个springbootmybatis数据库,表名为figure,字段有id,name,type,pri

image.png

三、创建实体类

在java/src/com/yuqn下创建一个entity.Figure类,并且类名与表名相同,字段与数据表字段一致,然后添加构造方法。

注:‘.’表示在yuqn包下创建一个entity包,包中存放Figure类。
    类名与表名可以不用相同,字段与数据表字段也可以不一致,这里是为了方便,开发中也建议使用相同字段,方便开发维护。

image.png

image.png

四、写dao接口

在java/src/com/yuqn下创建一个dao.FigureDao接口,在接口中定义查询方法,添加@Mapper注解或者@MapperScan注解。

@Param注解:是将传递的id复制给figId,在mapper中sql语句应该使用figId来替代id。
@Mapper注解:在接口上添加,告诉框架这是dao接口,让框架找到对应的mapper文件。
@MapperScan注解(推荐使用):在配置类添加,参数是dao接口所在的包,可以有多个包路径。

注:之前的文章有说过,启动类也属于配置类(参考:https://juejin.cn/post/7076083236782211079)

image.png

image.png

五、写mapper文件

有dao接口,就得有mapper文件。在resources文件下创建一个mapper包,创建一个xml文件,文件名与对应接口名一样,在application.properties配置文件中声明mapper文件地址。

注:如果mapper.xml文件和Dao接口在同一包中,不需要声明;否知,则需要在配置文件中进行声明。
    除了 .properties配置文件外,springboot框架还支持 .yml配置文件。

image.png

image.png

image.png

六、写service接口

service层的重要性随着互联网的发展,已经非常重要,在这里可以让开发者专注于业务逻辑处理。
在java/src/com/yuqn下创建一个service.FigureService接口,并且写一个查询的方法。

注:这里的接口名可以自己随意,为了方便,我都是用表名相关的。

image.png

image.png

七、写service实现类

有好奇心的朋友在步骤六就看到service包下有impl包了,里面存放了接口实现类,这也是真正处理业务逻辑的地方。

image.png

八、写控制器类

可以省略步骤六、步骤七,直接这里调用步骤四的方法。但是在如今业务繁多的系统中,为了能够让开发者更好地处理业务逻辑,步骤六、步骤七地位也越来越重要。
在java/src/com/yuqn下创建一个controller.FigureController类,并且写一个查询的方法。

注:@ResponseBody注解:将controller的方法返回的对象通过适当的转换器转换为指定的格式。
    在web开发中,一般是跳转到一个新页面,这里为了方便就直接用@ResponseBody注解。

image.png

image.png

九、写编译插件

添加编译插件,用于编译时能够识别并编译指定位置的文件(这里目的是为了识别到mapper文件)。
在pom.xml中添加:
    <!--编译插件-->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.*</include>
            </includes>
        </resource>
    </resources>

十、写配置文件,添加数据库配置

在application.properties中添加配置信息。

注:在连接数据库中,spring.datasource.driver-class-name可以不用添加。

image.png

步骤完成之后,接下来就是测试代码是否能完成了。启动启动项,并且输入访问路径。

这里输入的地址为:http://localhost:8080/go/FigSel?id=1

注:springboot内置了tomcat,所以我们不需要像以往SSM框架一样,提前配置服务器才能启动。
    访问路径:http://localhost: + server.port值(如果没有,则默认8080) +server.servlet.context-path值(如果没有则不填)+ RequestMapping的值

image.png

参考源码:https://github.com/Yuqn/springboot_mybatis.git

通过上面内容,我们对Spring Boot集合Mybatis框架的使用是不是会更清楚一点呢?

以上内容可能存在不足或错误,如有发现请指出来。