Spring Boot 实用MyBatis做数据库操作

前言:

本项目基于maven构建,使用mybatis-spring-boot作为spring-boot项目的持久层框架

spring-boot中使用mybatis持久层框架与原spring项目使用方式和注解都不相同,需要依赖mybatis-spring-boot包

1、引入mybatis和数据库及其他项目依赖

1.1、引入mybatis依赖

[html] view plain copy

  1. <!-- mybatis-spring-boot --> <dependency> <groupId></groupId> <artifactId></artifactId> <version></version> </dependency>

1.2、引入mysql 驱动

[html] view plain copy

  1. <!-- mysql--> <dependency> <groupId></groupId> <artifactId></artifactId> </dependency>

1.3、项目pom.xml一览

[html] view plain copy

  1. <project= =
  2. => <modelVersion></modelVersion> <groupId></groupId> <artifactId></artifactId> <packaging></packaging> <version></version> <name></name> <parent> <groupId></groupId> <artifactId></artifactId> <version></version> </parent> <dependencies>
  3. <dependency> <groupId></groupId> <artifactId></artifactId> <exclusions><exclusion><groupId></groupId> <artifactId></artifactId></exclusion></exclusions>> </dependency>
  4. <dependency> <groupId></groupId> <artifactId></artifactId> </dependency>
  5. <dependency> <groupId></groupId> <artifactId></artifactId> </dependency> <dependency> <groupId></groupId> <artifactId></artifactId> </dependency>
  6. <dependency> <groupId></groupId> <artifactId></artifactId> </dependency> <dependency> <groupId></groupId> <artifactId></artifactId> <scope></scope> </dependency> <dependency> <groupId></groupId> <artifactId></artifactId> <scope></scope> </dependency>
  7. <dependency> <groupId></groupId> <artifactId></artifactId> <version></version> </dependency>
  8. <dependency> <groupId></groupId> <artifactId></artifactId> <version></version> </dependency> <dependency> <groupId></groupId> <artifactId></artifactId> <version></version> </dependency> </dependencies> <profiles> <profile> <id></id> <dependencies> > <dependency> <groupId></groupId> <artifactId></artifactId> <type></type> </dependency> </dependencies> </profile> </profiles>
  9. <build> <plugins> <plugin> <groupId></groupId> <artifactId></artifactId> </plugin> </plugins> </build> <repositories> <repository> <id></id> <url></url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id></id> <url></url> </pluginRepository> </pluginRepositories> </project>

2、配置数据库连接参数、设置mybatis的mappers所在包以及spring-boot服务参数配置

在项目根目录下创建一个application.properties,该文件用于定义spring-boot的相关参数及数据库参数,以及配置mybatis的mappers扫描路径

如果是maven项目,application.properties放在src/main/resource/目录下

配置如下:

spring.datasource.url=jdbc:MySQL://127.0.0.1:3306/test

spring.datasource.username=root

spring.datasource.password=eguid

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.max-idle=5

spring.datasource.max-wait=10000

spring.datasource.min-idle=1

spring.datasource.initial-size=3

server.port=8088

server.session.timeout=10

server.tomcat.max-threads=800

server.tomcat.uri-encoding=UTF-8

mybatis.mapperLocations=classpath:cn/eguid/carSysWEB/mappers/*.xml

3、mybatis的dao接口及mapper.xml实现

3.1、定义mybatis的dao接口

该接口与mybatis-spring方式不同,需要加上一个@Mapper注解

@Mapper注解用于声明该接口为mybatis的dao接口

[java] view
plain
 copy

  1. package

    import

    import
    import

    import
    //使用Mapper注解声明该接口为mybatis的dao接口
    @Mapper
    publicinterface

    public

    public(value = ) String org_parent_coding);

  2. public(value=) String dep_id);
  3. }

3.2、dao接口对应的mapper.xml

mapper.xml与原mybatis写法相同

[html] view
plain
 copy

  1. <!DOCTYPE mapper
  2. >

    <mapper=>
    <resultMap= =>
    <id= =/>
    <result= =/>
    <result= =/>
    <result= =/>
    </resultMap>
    <select= =>

    </select>
    <select= = =>
    =#{parentCoding,=}

  3. </select>
    <select= = =>
    =#{dep_id}
  4. </select>
    </mapper>

补充:

做完以上步骤,就可以在service中直接通过spring的IOC注解注入mybatis的dao实现,我这里的dao接口是GetInfoDao,所以是注入‘getInfoDao’就可以正确引用该持久层;

注意:必须在spring-boot的入口类中开启@ComponentScan注解才能扫描到项目中所有注解

[java] view
plain
 copy

  1. package

    import
    import
    import

    import

    @SpringBootApplication
    //开启通用注解扫描
    @ComponentScan
    publicclassextends

    * 实现SpringBootServletInitializer可以让spring-boot项目在web容器中运行

  2. */
  3. protected
    this
    returnsuper

    publicstaticvoid
    class

    }

5、总结:

1、spring-boot项目中使用mabatis需要依赖mybatis-spring-boot

2、需要在application.xml中定义数据库连接参数以及mybatis的mappers文件扫描路径

3、mybatis的dao接口需要加上@Mapper注解才能被spring-boot正确扫描到

4、spring-boot开启注解扫描的注解是@ComponentScan

6.让外部Tomcat运行Spring Boot项目

只需要在原项目上做两件事

1、在pom.xml中排除org.springframework.boot的内置tomcat容器

[html] view plain copy

  1. <!-- spring-boot web -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5. <!-- 排除内置容器,排除内置容器导出成war包可以让外部容器运行spring-boot项目-->
  6. <exclusions>
  7. <exclusion>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-tomcat</artifactId>
  10. </exclusion>
  11. </exclusions>
  12. </dependency>

2、spring-boot入口实现SpringBootServletInitializer接口

补充:SpringBootServletInitializer接口依赖javax.servlet包,需要在pom.xml中引入该包

spring-boot入口类必须实现SpringBootServletInitializer接口的configure方法才能让外部容器运行spring-boot项目

注意:SpringBootServletInitializer接口需要依赖 javax.servlet

[java] view
plain
 copy

  1. package

    import
    import
    import
    import
    import

    import
    import
    import

    @SpringBootApplication
    // 开启通用注解扫描
    @ComponentScan
    publicclassextends

    * 实现SpringBootServletInitializer可以让spring-boot项目在web容器中运行

  2. */
  3. protected
    this
    returnsuper

    publicstaticvoid
    class

    }

原文地址:http://www.cnblogs.com/xuyatao/p/8110259.html

时间: 2024-08-01 17:35:50

Spring Boot 实用MyBatis做数据库操作的相关文章

Spring boot 入门三:spring boot 整合mybatis 实现CRUD操作

开发环境延续上一节的开发环境这里不再做介绍 添加mybatis依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> DAO层接口(这里是直接通过注解实现数据库操作,不

spring boot: spring-data-jpa (Repository/CrudRepository) 数据库操作, @Entity实体类持久化

SpringBoot实现的JPA封装了JPA的特性, Repository是封装了jpa的特性(我是这么理解的) 1在pom.xml引入mysql, spring-data-jpa依赖 2.在src/main/resource/下新建applicatoin.properties配置文件,并配置数据库连接 3.在application.properties配置jpa配置信息 4.编写实例 热部署pom.xml配置 <!-- spring boot devtools 热部署 --> <dep

企业分布式微服务云SpringCloud SpringBoot mybatis (十三)Spring Boot整合MyBatis

Spring中整合MyBatis就不多说了,最近大量使用Spring Boot,因此整理一下Spring Boot中整合MyBatis的步骤.搜了一下Spring Boot整合MyBatis的文章,方法都比较老,比较繁琐.查了一下文档,实际已经支持较为简单的整合与使用.下面就来详细介绍如何在Spring Boot中整合MyBatis,并通过注解方式实现映射. 整合MyBatis 新建Spring Boot项目,或以Chapter1为基础来操作 pom.xml中引入依赖 这里用到spring-bo

Spring Boot 集成 MyBatis(四)

Spring Boot 集成 MyBatis A.ORM框架是什么? 对象关系映射(Object Relational Mapping,简称 ORM)模式是一种为了解决面向对象与关系数据库存在的 互不匹配的现象技术.简单的说,ORM 是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自 动持久化到关系数据库中. B.为什么需要ORM框架 当开发一个应用程序的时候(不使用 O/R Mapping),可能会写不少数据访问层的代码,用来从数据库保存. 删除.读取对象信息等.在 DAL 中写了很

Spring Boot 整合 Mybatis 实现 Druid 多数据源详解

一.多数据源的应用场景 目前,业界流行的数据操作框架是 Mybatis,那 Druid 是什么呢? Druid 是 Java 的数据库连接池组件.Druid 能够提供强大的监控和扩展功能.比如可以监控 SQL ,在监控业务可以查询慢查询 SQL 列表等.Druid 核心主要包括三部分: 1. DruidDriver 代理 Driver,能够提供基于 Filter-Chain 模式的插件体系. 2. DruidDataSource 高效可管理的数据库连接池 3. SQLParser 当业务数据量达

spring boot + gradle + mybatis

使用intelliJ创建 spring boot + gradle + mybatis站点 Spring boot作为快速入门是不错的选择,现在似乎没有看到大家写过spring boot + gradle + mybatis在intellij下的入门文章,碰巧做.Net的同学问到,我想我也可以写这样一篇.入门Java的人最大的问题是步骤繁琐,不知道如何开始,之前我也建议过我的一个小弟用BlueJ去学Java,可是这个东西学得他很迷茫,根本无法获得成就感,不知道能搞出什么有意思的东西,那我们就来点

Spring Boot集成MyBatis实现通用Mapper

前言 MyBatis关于MyBatis,大部分人都很熟悉.MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录.不管是DDD(Domain Driven Design,领域驱动建模)还是分层架构的风

Spring Boot 集成MyBatis

Spring Boot 集成MyBatis 在集成MyBatis前,我们先配置一个druid数据源. Spring Boot 系列 Spring Boot 入门 Spring Boot 属性配置和使用 Spring Boot 集成MyBatis Spring Boot 静态资源处理 Spring Boot - 配置排序依赖技巧 Spring Boot - DevTools 介绍 Spring Boot 集成druid druid有非常多个配置选项,使用Spring Boot 的配置文件能够方便的

spring boot配置mybatis和事务管理

spring boot配置mybatis和事务管理 一.spring boot与mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依赖如下: <!-- Spring Boot 启动父依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>