`
liujiekasini0312
  • 浏览: 147544 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring Boot整合MyBatis

 
阅读更多

最近项目原因可能会继续开始使用MyBatis,已经习惯于spring-data的风格,再回头看xml的映射配置总觉得不是特别舒服,接口定义与映射离散在不同文件中,使得阅读起来并不是特别方便。

Spring中整合MyBatis就不多说了,最近大量使用Spring Boot,因此整理一下Spring Boot中整合MyBatis的步骤。搜了一下Spring Boot整合MyBatis的文章,方法都比较老,比较繁琐。查了一下文档,实际已经支持较为简单的整合与使用。下面就来详细介绍如何在Spring Boot中整合MyBatis,并通过注解方式实现映射。

整合MyBatis

  • 新建Spring Boot项目,或以Chapter1为基础来操作

  • pom.xml中引入依赖

    • 这里用到spring-boot-starter基础和spring-boot-starter-test用来做单元测试验证数据访问
    • 引入连接mysql的必要依赖mysql-connector-java
    • 引入整合MyBatis的核心依赖mybatis-spring-boot-starter
    • 这里不引入spring-boot-starter-jdbc依赖,是由于mybatis-spring-boot-starter中已经包含了此依赖
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.3.2.RELEASE</version>
      <relativePath/> <!-- lookup parent from repository -->
      </parent>
      <dependencies>
      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      </dependency>
      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      </dependency>
      <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.1.1</version>
      </dependency>
      <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.21</version>
      </dependency>
      </dependencies>
  • 同之前介绍的使用jdbc和spring-data连接数据库一样,在application.properties中配置mysql的连接配置

1
2
3
4
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

同其他Spring Boot工程一样,简单且简洁的的完成了基本配置,下面看看如何在这个基础下轻松方便的使用MyBatis访问数据库。

使用MyBatis

  • 在Mysql中创建User表,包含id(BIGINT)、name(INT)、age(VARCHAR)字段。同时,创建映射对象User
1
2
3
4
5
6
7
8
9
public class User {
private Long id;
private String name;
private Integer age;
// 省略getter和setter
}
  • 创建User映射的操作UserMapper,为了后续单元测试验证,实现插入和查询操作
1
2
3
4
5
6
7
8
9
10
11
@Mapper
public interface UserMapper {
@Select("SELECT * FROM USER WHERE NAME = #{name}")
User findByName(@Param("name") String name);
@Insert("INSERT INTO USER(NAME, AGE) VALUES(#{name}, #{age})")
int insert(@Param("name") String name, @Param("age") Integer age);
}
  • 创建Spring Boot主类
1
2
3
4
5
6
7
8
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
  • 创建单元测试
    • 测试逻辑:插入一条name=AAA,age=20的记录,然后根据name=AAA查询,并判断age是否为20
    • 测试结束回滚数据,保证测试单元每次运行的数据环境独立
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
public class ApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
@Rollback
public void findByName() throws Exception {
userMapper.insert("AAA", 20);
User u = userMapper.findByName("AAA");
Assert.assertEquals(20, u.getAge().intValue());
}
}

完整示例Chapter3-2-7

【转载请注明出处】:http://blog.didispace.com/springbootmybatis/

分享到:
评论

相关推荐

    spring boot整合 mybatis 和 hikariCP

    附件是spring boot整合mybatis和hikariCP的示例,本demo的spring boot是2.0以下版本,spring boot 2.0以上版本默认的数据库连接池就是hikariCP。

    Spring Boot整合Mybatis

    以上就是Spring Boot整合MyBatis的基本步骤。在实际项目中,我们还可以利用MyBatis的动态SQL、缓存机制等功能,以及Spring Boot的AOP、事务管理等特性,构建更复杂的业务逻辑。同时,为了提高代码的可维护性和可扩展...

    spring boot 整合Mybatis web jsp可直接运行

    spring boot整合mybatis web项目,代码非常整洁干净,无多余代码,内含一张表的读取操作,及建表语句,非常适合初学者。解压后用IntelliJ IDEA打开,然后导入表user_t,修改下数据库连接的配置,改成自己本机的,即可...

    spring boot整合mybatis

    Spring Boot 是一个由 Pivotal 团队创建的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。...通过这样的整合,我们可以充分利用 Spring Boot 的便利性与 MyBatis 的灵活性,实现高效、可维护的后端服务。

    spring boot 整合mybatis

    通过上述步骤,我们就能成功地在Spring Boot项目中整合MyBatis,并利用MBG工具自动生成相关代码。这种整合方式极大地提高了开发效率,使得Java Web应用的开发变得更加便捷。在实际开发过程中,还需要结合具体业务...

    spring boot 整合mybatis,基于@Select注解方式

    以上就是Spring Boot整合MyBatis并使用@Select注解的基本步骤。通过这种方式,你可以轻松地在Spring Boot应用中实现数据访问,无需编写大量的模板代码,提高了开发效率。对于新手来说,这是一个很好的实践案例,可以...

    Spring Boot整合Mybatis-Plus使用TDengine

    Spring Boot整合Mybatis-Plus使用TDengine

    Spring Boot整合MyBatis加外部Tomcat启动-demo.zip

    《Spring Boot整合MyBatis与外部Tomcat启动详解》 在现代Java开发中,Spring Boot以其简洁、快速的特性受到了广大开发者的喜爱。而MyBatis作为轻量级的持久层框架,以其灵活的SQL映射功能,为数据库操作提供了便利...

    Spring Boot整合mybatis 配置Druid数据源开启sql监控

    通过以上步骤,我们完成了Spring Boot整合MyBatis和配置Druid数据源开启SQL监控的过程。这不仅让数据库操作更加便捷,也便于我们对SQL性能进行监控和优化,提升系统的稳定性和效率。在实际开发中,可以根据项目的...

    Spring Boot整合Mybatis入门Demo

    以上就是Spring Boot整合Mybatis的基础步骤。这个Demo展示了如何从零开始搭建一个简单的数据查询应用。随着需求的增加,你可以添加更多的Mapper接口和XML文件,以处理更复杂的业务逻辑。同时,Spring Boot还提供了...

    spring boot-mybatis demo

    在"spring boot-mybatis demo"项目中,我们将看到如何将 MyBatis 整合到 Spring Boot 应用中,实现数据访问和操作。以下是主要涉及的知识点: 1. **Spring Boot 配置**:首先,你需要在 `pom.xml` 文件中添加 ...

    Spring Boot整合Mybatis使用druid实现多数据源自动切换

    以上就是Spring Boot整合Mybatis并使用Druid实现多数据源自动切换的详细步骤。通过这样的方式,我们可以灵活地管理多个数据库,提高系统的扩展性和可用性。同时,Druid提供的监控功能可以帮助我们更好地管理和优化...

    简易指南:使用Spring Boot整合MyBatis轻松优雅

    **简易指南:使用Spring Boot整合MyBatis轻松优雅** 在现代Java开发中,Spring Boot以其简洁的配置和快速的应用启动而备受青睐。MyBatis作为轻量级的持久层框架,以其灵活的SQL映射机制深受开发者喜爱。将两者结合...

    使用STS(SpringToolSuite)工具Spring Boot整合MyBatis详细代码

    这个案例展示了如何在STS中使用Spring Boot整合MyBatis,帮助开发者快速构建数据访问层,提高开发效率。通过学习这个案例,你可以更深入地理解Spring Boot和MyBatis的协同工作方式,以及如何在IDE环境中高效地管理...

    Spring Boot整合MyBatis 示例代码

    下面我们将详细探讨Spring Boot如何与MyBatis进行整合,并通过具体的示例代码来理解这个过程。 首先,我们需要在项目的`pom.xml`或`build.gradle`文件中引入相关的依赖。对于Spring Boot项目,我们需要添加Spring ...

    spring boot整合mybatis-plus启动报错问题及解答.pdf

    总结来说,Spring Boot整合Mybatis-Plus时启动报错的主要原因是Mapper接口没有被正确地扫描和注册为bean。通过在启动类上使用`@MapperScan`或在每个Mapper接口上使用`@Mapper`注解,可以有效地解决这个问题。同时,...

    spring boot整合mybatis+mybatis-plus的示例代码

    Spring Boot 整合 MyBatis+MyBatis-Plus 示例代码 在本文中,我们将介绍如何将 Spring Boot 与 MyBatis 和 MyBatis-Plus 进行整合。MyBatis 是一个流行的持久层框架,而 MyBatis-Plus 是一个基于 MyBatis 的增强...

    Spring Boot 整合Mybatis连接SQL Server(1)

    在本教程中,我们将深入探讨如何使用Spring Boot框架与Mybatis进行整合,以便高效地连接并操作SQL Server数据库。Spring Boot以其简洁的配置和开箱即用的特性,已经成为Java后端开发的首选。而Mybatis作为轻量级的...

    使用Spring Boot 整合 Mybatis 以 xml 形式进行CRUD操作

    基础的Spring Boot整合Mybatis,基于xml的方式实现对数据库资料进行CRUD的操作,数据库手动添加,此为源码jar包,导入就可使用

Global site tag (gtag.js) - Google Analytics