Spring Boot中整合MyBatis(基于xml方式&基于注解实现方式)

这篇具有很好参考价值的文章主要介绍了Spring Boot中整合MyBatis(基于xml方式&基于注解实现方式)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前提准备

在Spring Boot中整合MyBatis时,你需要导入JDBC(不需要手动添加)、Druid的相关依赖、MySQL相关依赖。

  1. JDBC依赖:在Spring Boot中整合MyBatis时,并不需要显式地添加JDBC的包依赖。这是因为,当你添加mybatis-spring-boot-starter依赖时,它已经包含了对JDBC的依赖。mybatis-spring-boot-starter是MyBatis官方提供的用于整合MyBatis和Spring Boot的依赖,它已经包含对JDBC的支持。这个依赖会自动引入适用于Spring Boot的JDBC依赖,因此你不需要手动添加

     如果你想了解如何整合JDBC可参考: SpringBoot整合JDBC--->SpringBoot整合JDBC_Maiko Star的博客-CSDN博客

  2. Druid依赖:Druid是一个强大的数据库连接池和监控工具,如果你希望使用Druid作为连接池,需要导入Druid的依赖。可以通过以下方式在pom.xml文件中添加Druid的依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.6</version>
</dependency>

SpringBoot整合Druid ------> SpringBoot整合Druid_Maiko Star的博客-CSDN博客

     3.MySQL依赖:当您在Spring Boot中整合MyBatis时,如果您使用MySQL数据库作为数据存储,您需要导入MySQL相关的依赖包。

<dependency>
    <groupId>com.mysql.cj</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.26</version>
</dependency>

二、导入MyBatis依赖 

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
</dependency>

三、配置数据库连接

application.propertiesapplication.yml中配置数据库连接信息,例如:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

如果你使用了Druid,还需要加上Druid相关配置(spring.datasource.type=com.alibaba.druid.pool.DruidDataSource必须加上,其他配置可不加)


# Druid配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=false
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.time-between-eviction-runs-millis=60000
spring.datasource.druid.min-evictable-idle-time-millis=30000
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
spring.datasource.druid.filters=stat,wall,log4j
spring.datasource.druid.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

创建一个Java配置类,用于配置Druid数据源,并注入到Spring Boot中:

@Configuration
public class DataSourceConfig {
 
    @ConfigurationProperties(prefix = "spring.datasource.druid")
    @Bean
    public DataSource dataSource() {
        return new DruidDataSource();
    }
}

四、在resources下创建mapper文件夹,并在application.yml里配置路径

Spring Boot中整合MyBatis(基于xml方式&基于注解实现方式),SpringBoot,spring boot,mybatis,java


下面是基于xml方式: 

 五、在mapper文件下写相应的xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.dfrz.mapper.StudentMapper">

    <select id="getStuById" resultType="com.dfrz.pojo.Student">
        select * from `student` where id = #{id}
    </select>

</mapper>

六、创建mapper包和对应的接口,在接口加上@Mapper注解,或者在启动类加上@MapperScan(value = "com.dfrz.mapper")注解

在接口加上@Mapper注解:

Spring Boot中整合MyBatis(基于xml方式&基于注解实现方式),SpringBoot,spring boot,mybatis,java

在启动类加上@MapperScan(value = "com.dfrz.mapper")注解:

Spring Boot中整合MyBatis(基于xml方式&基于注解实现方式),SpringBoot,spring boot,mybatis,java

 七、测试

配置相应的controller进行测试:

Spring Boot中整合MyBatis(基于xml方式&基于注解实现方式),SpringBoot,spring boot,mybatis,java

Spring Boot中整合MyBatis(基于xml方式&基于注解实现方式),SpringBoot,spring boot,mybatis,java

 测试成功!!!

八、可以添加配置类,开启驼峰识别

package com.dfrz.config;

import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
    public class MybatisConfig {

        @Bean
        public ConfigurationCustomizer configurationCustomizer(){
            return new ConfigurationCustomizer() {
                @Override
                public void customize(org.apache.ibatis.session.Configuration configuration) {
                    configuration.setMapUnderscoreToCamelCase(true);//驼峰
                    //configuration.setCacheEnabled(true);//缓存
                }
            };
        }

    }

下面是基于注解方式:

在MyBatis中,你可以使用注解来简化数据库操作的配置。通过注解,你可以在Mapper接口的方法上添加相应的注解来指定对应的SQL语句和参数映射关系,无需再编写XML Mapper文件。

  1. @Select:用于执行查询操作的注解,指定SQL查询语句。

  2. @Insert:用于执行插入操作的注解,指定SQL插入语句。

  3. @Update:用于执行更新操作的注解,指定SQL更新语句。

  4. @Delete:用于执行删除操作的注解,指定SQL删除语句。

 以下是使用注解进行数据库操作的示例:文章来源地址https://www.toymoban.com/news/detail-609800.html

public interface UserMapper {

    @Select("SELECT * FROM users")
    List<User> getAllUsers();

    @Select("SELECT * FROM users WHERE id = #{id}")
    User getUserById(Long id);

    @Insert("INSERT INTO users(name, email) VALUES(#{name}, #{email})")
    @Options(useGeneratedKeys = true, keyProperty = "id") //用于在插入操作时生成主键并将生成的主键赋值给实体类的属性。
    int insertUser(User user);

    @Update("UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id}")
    int updateUser(User user);

    @Delete("DELETE FROM users WHERE id = #{id}")
    int deleteUser(Long id);

}

properties配置文件开启驼峰匹配

#开启驼峰映射
mybatis.configuration.map-underscore-to-camel-case=true

到了这里,关于Spring Boot中整合MyBatis(基于xml方式&基于注解实现方式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot学习随笔- 集成JSP模板(配置视图解析器)、整合Mybatis(@MapperScan注解的使用)

    学习视频:【编程不良人】2021年SpringBoot最新最全教程 在main创建webapp,然后创建index.jsp进行测试,在访问之前需要进行一个设置,否则springboot是找不到jsp页面的 修改jsp无需重启应用 数据库访问框架:hibernate、jpa、mybatis【主流】 SpringBoot(微框架) = Spring(工厂) + SpringMV

    2024年02月05日
    浏览(31)
  • Spring Boot入门(08):整合Mybatis访问MySQL实现增删改查 | 超级详细,建议收藏

            在现代的Web应用程序中,数据库操作是不可避免的。而Spring Boot作为一款快速开发框架,其优秀的集成能力非常适合与数据库交互,而MyBatis则是一个优秀的ORM框架,可以大大简化我们的数据库操作。本文将结合Spring Boot和MyBatis,带您实现高效的MySQL增删改查操作,

    2024年02月12日
    浏览(32)
  • Mybatis基于注解与XML开发

    SpringBoot是一个基于Spring框架的快速开发的脚手架,它能够帮助我们开发者快速搭建项目环境,并提供了一些建议的配置方式,降低了开发者程序的开发和部署难度。 MyBatis是Java的持久化框架,目的是为了使操作数据库更加方便、灵活、高效。可以通过Java注解和XML文件来映射

    2024年02月15日
    浏览(30)
  • 微服务 Spring Boot Mybatis-Plus 整合 EasyPOI 实现 Excel 一对多 导入

    Excel导入 是 开发中 很常用的 功能 ,本篇 讲解 如何使用 Spring Boot + MyBatis -Plus 整合 EasyPOI 实现Excel 的一对多导入。 EasyPOI官网 采用 微服务 Spring Boot、Mybatis-Plus 整合 EasyPOI 实现Excel的一对多导入 Excel 导入 实现详细细节 前端采用 Vue+ElementUI 实现导入页面展示,要求 弹出上传框

    2024年02月03日
    浏览(32)
  • 基于Spring注解 + MyBatis + Servlet 实现数据库交换的小小Demo

    配置数据库连接信息 db.properties 配置web.xml 配置logback.xml配置文件 配置applicationContext.xml 里面的bean 配置myBatis核心配置文件mybatis-config.xml 创建实体类对象User 创建LoginServlet响应前端的数据 创建UserService 接口 创建UserMapper接口 创建UserServiceImpl 接口实现类 按照这样的方式进行拼接

    2024年02月02日
    浏览(71)
  • Spring Boot 整合 Mybatis

    导入依赖的时候,需要根据自己所使用的Spring Boot和MySQL的版本而定。 我这里使用的是MySQL数据库。 首先创建一个mybatis_learn的数据库。然后创建一个student的表。 对应的,要实现一个Java的实体类,来对应数据库的表。 创建如图结构的各个包和文件。 这个接口是对应Mybatis的

    2024年02月03日
    浏览(34)
  • Spring Boot整合MyBatis

    在开发中,通常会涉及到对数据库的数据进行操作,Spring Boot在简化项目开发以及实现自动化配置的基础上,对关系型数据库和非关系型数据库的访问操作都提供了非常好的整合支持。 Spring Boot默认采用整合SpringData的方式统一处理数据访问层,通过添加大量自动配置,引入各

    2024年02月06日
    浏览(30)
  • Spring整合RabbitMQ-注解方式

    maven导入 5.2.1 消息的生产者 RabbitConfig 提示: ConnectionFactory有三个实现 CachingConnectionFactory 基于channel的缓存模式 最常用是这个。 LocalizedQueueConnectionFactory 直接连接某个节点的方式。如果是集群,此种不太适合。 SimpleRoutingConnectionFactory 在当前的连接工厂中按查找的KEY获取连接

    2024年02月09日
    浏览(28)
  • 浅谈 Spring IOC 和 DI 以及 Spring 整合 Mybatis 的十四 个注解

    控制 : 指对对象的创建权 反转: 对象的创建由程序员在类中主动创建变为由Spring自动创建 Spring方式:所有的对象都是由Spring框架提前创建出来,存储到一个容器中,servlet需要Service了,就向Spring要一个 技术的作用 : 通过底层反射原理来 解开对象之间的耦合 注解 @Compone

    2024年02月16日
    浏览(26)
  • 【Spring Boot整合MyBatis教程】

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成

    2024年02月15日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包