Sql-SpringBoot:使用MyBatis

MyBatis是一个SQL映射框架,支持自定义SQL,存储过程和高级映射。

SpringBoot不提供对MyBatis集成的官方支持,但MyBatis社区为MyBatis构建了SpringBoot初学者。

创建一个SpringBoot Maven项目并添加以下MyBatis Starter依赖项。

我们将重新使用我之前的文章中创建的User.java,schema.sql和data.sql文件SpringBoot:使用JdbcTemplate

使用少量数据库操作创建MyBatis SQL Mapper接口UserMapper.java ,如下所示:


 

我们需要创建Mapper XML文件来为相应的Mapper接口方法定义映射SQL语句的查询。

src / main / resources / com / sivalabs / demo / mappers /目录下创建UserMapper.xml文件,如下所示:


 

这里几点要注意的是:

  • Mapper XML中的名称空间应该与Mapper接口的完全限定名称(FQN)相同
  • 语句ID值应与映射器接口方法名称相同。
  • 如果查询结果列名与bean属性名不同,我们可以使用<resultMap>配置来提供列名和它们相应的bean属性名之间的映射。

MyBatis还提供基于注释的查询配置,而不需要Mapper XML。

我们可以创建UserMapper.java接口并使用注释配置映射的SQL,如下所示:


 

SpringBoot MyBatis入门者提供了以下MyBatis配置参数,我们可以使用这些参数来自定义MyBatis设置。


 

application.properties中配置typeAliasesPackagemapperLocations 


 

创建入口点类SpringbootMyBatisDemoApplication.java。

注意到我们使用了@MapperScan(“com.sivalabs.demo.mappers”)注释来指定在哪里查找Mapper接口。

现在创建一个JUnit测试类并测试我们的UserMapper方法。