练习小记2:SpringBoot整合MyBatis

本文主要介绍SpringBoot整合MyBatis的初步过程以及需要注意的细节。

  1. SpringBoot简介

官网https://spring.io/projects/spring-boot/

?

  1. MyBatis简介

官网:https://mybatis.org/mybatis-3/zh/index.html

MyBatis的优势:

  1. 历史发展

    MyBatis是由Ibatis发展而来的,Ibatis1.x和Ibatis2.x,都称为Ibatis,在Ibatis3.x版本及以后都称为:MyBatis

    1. 在软件三层架构中的位置

    MyBatis位于软件三层架构中的Dao层,即MyBatis主要是和数据库打交道!

    MyBatis到底是啥?

    What is MyBatis?

    MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings.?MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. MyBatis can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs (Plain Old Java Objects) to database records.

    MyBatis是一流的持久性框架,支持自定义SQL,存储过程和高级映射。 MyBatis消除了几乎所有的JDBC代码以及参数的手动设置和结果检索。 MyBatis可以使用简单的XML或注释进行配置,并将图元,映射接口和Java POJO(简单的Java对象,实际就是普通JavaBeans)映射到数据库记录。

  1. MyBatis的优势[重点]

    MyBatis和原生JDBC、Spring的JdbcTemplate相比有什么优势?

    1. MyBatis本身是一个框架,除了对数据表的增删改查操作之外,还支持字段映射、缓存机制。
    2. MyBatis支持动态SQL【根据不同的参数,可以拼接成不同的SQL】
    3. MyBatis支持java代码【专注于处理业务逻辑】和SQL语句【专注于处理数据】分离
    4. MyBatis还可以将表的关联关系直接映射为POJO对象的关联关系。
    5. MyBatis是一个半自动化(手写SQL)的ORM【Object Relation Mapping】框架。

    ?

    1. 运行原理

      1. 其他

      关于具体事例,SSM的整合,逆向工程,有空详细的写几篇文章…这里不多赘述。

      ?

      1. 整合步骤

        1. 准备数据库以及表

      1. 导入依赖

      导入mybatis、MySQL、AlibabaDruid连接池的maven依赖

      <dependency>    <groupId>org.mybatis.spring.boot</groupId>    <artifactId>mybatis-spring-boot-starter</artifactId>    <version>2.0.0</version></dependency><dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId></dependency><dependency>    <groupId>com.alibaba</groupId>    <artifactId>druid</artifactId>    <version>1.1.10</version></dependency>
      

      ?

      1. 修改SpringBoot的配置文件为application.yml

      ?

      #配置数据源
      spring:
      datasource:
      url: jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8
      type: com.alibaba.druid.pool.DruidDataSource
      username: root
      password: root
      driver-class-name: com.mysql.jdbc.Driver
      #springboot整合mybatis
      mybatis:
      mapper-locations: classpath:mapper/*.xml
      type-aliases-package: com.kjlw.entity

      ?

      1. 创建实体类

      ?

      1. 创建Mapper层接口以及映射文件

      1. 创建Service层接口以及实现类

      1. 创建Controller层接口

      1. 在SpringBoot主启动类上添加注解扫描

      ?

      1. 启动并测试

      ?

      1. 注意事项

      1. 传统的ssm整合中Mapper层的接口与映射文件应在同一个包下(通常为Mapper包),但是在SpringBoot与MyBatis整合中,如果默认将Mapper接口与映射文件都放在同一包下,仍会报错,此时解决方案有两个:

        1)在resources目录下建立同样的包名,并将映射文件放入

        2)在pom文件中添加以下配置:

原文地址:https://www.cnblogs.com/hjwg8/p/11802540.html

时间: 2024-11-06 14:44:37

练习小记2:SpringBoot整合MyBatis的相关文章

SpringBoot 2.SpringBoot整合Mybatis

一.创建Springboot的配置文件:application.properties SpringApplication 会从 application.properties 文件中加载配置信息,下面是添加Spring配置信息的文件目录顺序: 当前目录下的/config子目录中 当前目录中 一个 classpath 包下的 /config 目录中 classpath 根目录中 大家根据自己习惯来即可. /application.properties 文件配置如下: spring.datasourc

springboot整合mybatis(SSM开发环境搭建)

0.项目结构: 1.application.properties中配置整合mybatis的配置文件.mybatis扫描别名的基本包与数据源 server.port=80 logging.level.org.springframework=DEBUG #springboot mybatis #jiazai mybatis peizhiwenjian mybatis.mapper-locations = classpath:mapper/*Mapper.xml mybatis.config-loca

SpringBoot整合Mybatis多数据源 (AOP+注解)

SpringBoot整合Mybatis多数据源 (AOP+注解) 1.pom.xml文件(开发用的JDK 10) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:s

springboot整合mybatis(注解)

springboot整合mybatis(注解) 1.pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ht

SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统

1.前言本文主要介绍使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例. 使用技术:SpringBoot.mybatis.shiro.thymeleaf.pagehelper.Mapper插件.druid.dataTables.ztree.jQuery 开发工具:intellij idea 数据库:mysql.redis 2.表结构还是是用标准的5张表来展现权限.如下图:image 分别为用户表,角色表,资源表,用户角色表,角色资源表.在这个demo中使用了mybat

SpringBoot整合Mybatis【非注解版】

接上文:SpringBoot整合Mybatis[注解版] 一.项目创建 新建一个工程 ? 选择Spring Initializr,配置JDK版本 ? 输入项目名 ? 选择构建web项目所需的staters(启动器) ? 选择与数据库相关的组件 ? 分析:Spring Boot基本上将我们实际项目开发中所遇到的所有场景都做了封装.它将所有的功能场景都抽取出来,做成了一个个的staters(启动器),只需要在项目的pom.xml配置文件里面引入这些starter相关场景的所有依赖都会导入进来.需要什

springboot整合mybatis+oracle

第一步 认识springboot :springboot是为了解决配置文件多,各个组件不统一的问题,它省去了很多配置文件,同时实现了spring产品的整合. 创建springboot项目:通过选择springinit初始化springboot,我们发现它的pom.xml拥有绝大部分的spring所需要的包. 第二步 打开项目的结构,发现有了有趣的部分 在原有的java结构上,公司名称下多了一级叫做自己的项目名的一个目录,这个目录下才是相应的Controlller等层,而且在此目录下面有了一个文件

SpringBoot 整合MyBatis案例详解

SpringBoot约定大于配置的特点,让框架的配置非常简洁,与传统的SSM框架相比,简化了大量的XML配置,使得程序员可以从繁琐的配置中脱离出来,将精力集中在业务代码层面,提高了开发效率,并且后期的维护成本也大大降低. 从源码中可以看到,每一个springboot集成的jar包也是一个maven的子module,springboot已经将相关依赖的jar包自动添加到工程中,不需要开发人员手动去添加了,这也是springboot能够简化配置的一个重要原因. 下面开始说明springboot是如何

SpringBoot整合Mybatis之Annotation

首先需要下载前面一篇文章的代码,在前一章代码上进行修改. SpringBoot整合Mybatis(注解方式) 复制前一个项目,修改配置文件,mybatis的相关配置为: mybatis: type-aliases-package: con.mybatis.springboot_mybatis.model configuration: map-underscore-to-camel-case: true log-impl: org.apache.ibatis.logging.stdout.StdO