6、SpringBoot2之整合Mybatis

这篇具有很好参考价值的文章主要介绍了6、SpringBoot2之整合Mybatis。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创建名为springboot_mybatis的新module,过程参考3.1节

6.1、引入相关依赖

6、SpringBoot2之整合Mybatis

注意:虽然本文使用的是 spring boot 2.7.18 和 MySQL 5.7 ,但是出于可移植性、可扩展性和兼容性方面的考虑,
druid 的启动器使用的是 spring boot 3 版本的,MySQL 的驱动使用的是 MySQL 8 版本的。

        <!-- jdbc启动器的依赖(包括 jdbctemplate 和事务相关的依赖和配置)-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!-- druid启动器的依赖  -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-3-starter</artifactId>
            <version>1.2.20</version>
        </dependency>

        <!-- MySQL驱动的依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
        </dependency>

        <!-- Mybatis启动器的依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>

6.2、创建实体类

6、SpringBoot2之整合Mybatis

package online.liaojy.pojo;

import java.io.Serializable;

/**
 * @author liaojy
 * @date 2023/12/22 - 6:18
 */
public class Employee implements Serializable {

    private Integer empId;
    private String empName;
    private Integer age;
    private String sex;
    private String email;

    public Employee() {
    }

    public Employee(Integer empId, String empName, Integer age, String sex, String email) {
        this.empId = empId;
        this.empName = empName;
        this.age = age;
        this.sex = sex;
        this.email = email;
    }

    public Integer getEmpId() {
        return empId;
    }

    public void setEmpId(Integer empId) {
        this.empId = empId;
    }

    public String getEmpName() {
        return empName;
    }

    public void setEmpName(String empName) {
        this.empName = empName;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "Employee{" +
                "empId=" + empId +
                ", empName='" + empName + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                ", email='" + email + '\'' +
                '}';
    }

}

6.3、创建mapper接口

6、SpringBoot2之整合Mybatis

package online.liaojy.mapper;

import online.liaojy.pojo.Employee;

import java.util.List;

/**
 * @author liaojy
 * @date 2023/12/22 - 6:27
 */
public interface EmployeeMapper {

    List<Employee> getAllEmployee();

}

6.4、创建mapper映射文件

6、SpringBoot2之整合Mybatis

<?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="online.liaojy.mapper.EmployeeMapper">

    <select id="getAllEmployee" resultType="employee">
        select * from t_emp
    </select>

</mapper>

6.5、配置druid和mybatis相关参数

6、SpringBoot2之整合Mybatis


# druid配置:

# 连接池类型
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# 数据库驱动名称
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据库url
spring.datasource.druid.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8
# 数据库用户名
spring.datasource.druid.username=root
# 数据库密码
spring.datasource.druid.password=root


# mybatis配置:

# 配置类型别名所对应的包
mybatis.type-aliases-package=online.liaojy.pojo
# 配置mapper映射文件所在的位置
mybatis.mapper-locations=classpath:/mappers/*.xml
# 配置数据库字段的下划线转实体类属性的驼峰
mybatis.configuration.map-underscore-to-camel-case=true
# 配置日志工具类
mybatis.configuration.log-impl=org.apache.ibatis.logging.slf4j.Slf4jImpl

6.6、使用注解扫描mapper接口

6、SpringBoot2之整合Mybatis

注意:@MapperScan 注解的作用是将指定位置的 mapper 接口生成对应的代理对象并加载进ioc容器中,
此外,在对应的 mapper 接口添加 @Mapper 注解也能实现同样的效果。

@MapperScan("online.liaojy.mapper")

6.7、使用mapper接口查询数据

6、SpringBoot2之整合Mybatis

注意:在编译阶段,idea 可能会提示(误报)找不到 EmployeeMapper 类型的 bean 。

    @Autowired
    private EmployeeMapper employeeMapper;

    @RequestMapping("/getAllEmployee")
    public List<Employee> getAllEmployee(){
        List<Employee> employeeList = employeeMapper.getAllEmployee();
        return employeeList;
    }

6.8、测试效果

6、SpringBoot2之整合Mybatis文章来源地址https://www.toymoban.com/news/detail-770239.html

到了这里,关于6、SpringBoot2之整合Mybatis的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • java SpringBoot2.7整合Elasticsearch(ES)7 进行文档增删查改

    首先 我们在 ES中加一个 books 索引 且带有IK分词器的索引 首先 pom.xml导入依赖 application配置文件中编写如下配置 spring.elasticsearch.hosts: 172.16.5.10:9200 我这里是用的yml格式的 告诉它指向 我们本地的 9200服务 然后 我们在启动类同目录下 创建一个叫 domain的包 放属性类 然后在这个包

    2024年02月19日
    浏览(46)
  • idea2023 springboot2.7.5+mybatis+jsp 初学单表增删改查

    创建项目 因为2.7.14使用量较少,特更改spring-boot为2.7.5版本 配置端口号 打开Sm01Application类,右键运行启动项目,或者按照如下箭头启动 启动后,控制台提示如下信息表示成功 此刻在浏览器中输入:http://localhost:8081/hello 就可以看到如下得效果,就表示你成功了。 加入mybatis

    2024年02月11日
    浏览(35)
  • SpringBoot入门篇3 - 整合junit、整合mybatis、基于SpringBoot实现ssm整合

    目录 Spring整合JUnit  SpringBoot整合JUnit 测试类注解:@SpringBootTest 作用:设置JUnit加载的SpringBoot启动类 ①使用spring initializr初始化项目的时候,添加依赖。  ②设置数据源application.yml 注意: SpringBoot版本低于2.4.3,Mysql驱动版本大于8.0时,需要在url连接串中配置时区。 ③定义数据

    2024年02月10日
    浏览(44)
  • 【SpringBoot篇】SpringBoot整合Mybatis实战

    🎊专栏【SpringBoot】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 Spring Boot可以非常方便地集成MyBatis来实现对数据库的访问,从而快速搭建项目持久层。如果你也想利用Spring Boot整合MyBatis,本文将为你详细讲解整合过

    2024年02月05日
    浏览(65)
  • 【SpringBoot】SpringBoot整合Mybatis、druid

    🌕博客x主页:己不由心王道长🌕! 🌎文章说明:SpringBoot🌎 ✅系列专栏:spring 🌴本篇内容:基于SpringBoot整合Mybatis、druid🌴 ☕️每日一语:有时候,没有下一次,没有机会重来,没有暂停继续。有时候,错过了现在,就永远永远的没机会了。☕️ 🕤作者详情:作者是一名

    2024年02月10日
    浏览(40)
  • springboot整合mybatis报错

    org/mybatis/spring/boot/autoconfigure/MybatisDependsOnDatabaseInitializationDetector has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0 意思就是编译时使用了61.0版本,执行时的JDK/JRE使用了52.0版本。两个办法: 升级一

    2024年02月13日
    浏览(44)
  • SpringBoot整合Mybatis(3000字)

    依赖导入 同时在Maven中检查一下依赖是否完全导入 配置信息(application.yml) 我们在resources目录下创建application.yml的文件 在application.yml文件中我们编写配置信息: 注意: 一定要先确认自己的Mysql版本号再去填写对应的 url 和 driver-class-name 补充:怎么查看自己的mysql版本号: win+r

    2024年02月05日
    浏览(35)
  • Mybatis与Springboot的整合

    1.导入sprinboot依赖,数据库连接依赖,mybatis依赖,junit依赖 2.编写mybatis核心配置文件(yml) 3.配置mapper映射文件,注意namespace 必须指定对应mapper接口的权限定类名,而且映射文件目录结构要与mapper接口一致,映射文件去掉xml的名称与mapper接口名称一致。 4.编写mapper接口 5.测试

    2024年01月20日
    浏览(67)
  • SpringBoot整合junit&mybatis

    回顾 Spring 整合 junit 使用 @RunWith 注解指定运行器,使用 @ContextConfiguration 注解来指定配置类或者配置文件。而 SpringBoot 整合 junit 特别简单,分为以下三步完成 在测试类上添加 SpringBootTest 注解 使用 @Autowired 注入要测试的资源 定义测试方法进行测试 创建一个名为 springboot_07_

    2023年04月09日
    浏览(60)
  • springboot整合mybatis代码快速生成

    特别说明:本次项目整合基于idea进行的,如果使用Eclipse可能操作会略有不同,不过总的来说不影响。 springboot整合之如何选择版本及项目搭建 springboot整合之版本号统一管理  springboot整合mybatis-plus+durid数据库连接池 springboot整合swagger springboot整合mybatis代码快速生成 springboot整

    2024年02月02日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包