广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot怎么整合Mybatis
  • 705
分享到

SpringBoot怎么整合Mybatis

2023-07-05 19:07:49 705人浏览 八月长安
摘要

这篇文章主要介绍了SpringBoot怎么整合mybatis的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springBoot怎么整合Mybatis文章都会有所收获,下面我们一起来看看吧。Mybatis的简单介

这篇文章主要介绍了SpringBoot怎么整合mybatis的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springBoot怎么整合Mybatis文章都会有所收获,下面我们一起来看看吧。

Mybatis的简单介绍

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了Google code,并且改名为MyBatis 。2013年11月迁移到GitHub

iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括sql Maps和Data Access Objects(DAOs)

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

思想:ORM:Object Relational Mapping

Mybatis基本框架:

SpringBoot怎么整合Mybatis

1 环境搭建

新建Spring Boot项目,引入依赖

pom.xml

<!--mysql--><dependency>    <groupId>Mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>5.1.47</version></dependency><!--mybatis--><dependency>    <groupId>org.mybatis.spring.boot</groupId>    <artifactId>mybatis-spring-boot-starter</artifactId>    <version>1.3.2</version></dependency><!--Druid数据源--><dependency>    <groupId>com.alibaba</groupId>    <artifactId>druid-spring-boot-starter</artifactId>    <version>1.1.9</version></dependency><!--测试--><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-test</artifactId>    <scope>test</scope></dependency>

DB-sql

CREATE TABLE `student` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `name` varchar(255) DEFAULT NULL,  `age` int(11) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

项目结构

SpringBoot怎么整合Mybatis

2 整合方式一:注解版

2.1 配置

server:  port: 8081spring:  datasource: # 配置数据库    username: root    passWord: 12345    driver-class-name: com.mysql.jdbc.Driver    url: jdbc:mysql://localhost:3306/test   #数据库名    type: com.alibaba.druid.pool.DruidDataSource

2.2 编码

@Mapper@Repositorypublic interface JavaStudentMapper {        @Insert("insert into student(name, age) " +            "values (#{name}, #{age})")    public int saveStudent(Student student);        @Select("select *  " +            "from student " +            "where id = #{id}")    public Student findStudentById(Integer id);        @Select("select * " +            "from student")    @Results({            @Result(property = "id", column = "id"),            @Result(property = "name", column = "name"),            @Result(property = "age", column = "age")    })    public List<Student> findAllStudent();        @Delete("delete   " +            "from student " +            "where id = #{id}")    public int removeStudentById(Integer id);        @Update("update set name=#{name},age=#{age}  " +            "where id=#{id}")    public int updateStudentById(Student student);}

2.3 测试

@Autowiredprivate JavaStudentMapper studentMapper;@Testvoid testJavaMapperInsert() {    Student student = new Student("张三", 22);    System.out.println(studentMapper.saveStudent(student));}@Testvoid testJavaMapperFind() {    System.out.println(studentMapper.findStudentById(2));}@Testvoid testJavaMapperFindAll() {    System.out.println(studentMapper.findAllStudent());}@Testvoid testJavaMapperUpdate() {    Student student = new Student(2, "张三", 22);    System.out.println(studentMapper.updateStudentById(student));}@Testvoid testJavaMapperDelete() {    System.out.println(studentMapper.removeStudentById(2));}

3 整合方式二:XML版

3.1 配置

server:  port: 8081spring:  application:    name: hospitalManager       #项目名  datasource: # 配置数据库    username: root    password: 12345    driver-class-name: com.mysql.jdbc.Driver    url: jdbc:mysql://localhost:3306/test   #数据库名    type: com.alibaba.druid.pool.DruidDataSourcemybatis:  mapper-locations: classpath:mapper@Mapper@Repositorypublic interface XmlStudentMapper {        public int saveStudent(Student student);        public Student findStudentById(Integer id);        public List<Student> findAllStudent();        public int removeStudentById(Integer id);        public int updateStudentById(Student student);}

xml文件(StudentMapper.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="org.ymx.sp_mybatis.dao.xmlMapper.XmlStudentMapper">    <!-- 添加学生-->    <insert id="saveStudent" parameterType="org.ymx.sp_mybatis.pojo.Student" useGeneratedKeys="true"            keyProperty="id">        insert into student(name, age)        values (#{name}, #{age})    </insert>    <!--查看学生根据ID-->    <select id="findStudentById" parameterType="integer"              resultType="org.ymx.sp_mybatis.pojo.Student">        select *        from student        where id = #{id}    </select>    <!--查看全部学生-->    <select id="findAllStudent" resultMap="studentResult">        select *        from student    </select>    <!--删除学生根据ID-->    <delete id="removeStudentById" parameterType="integer">        delete        from student        where id = #{id}    </delete>    <!--修改学生根据ID-->    <update id="updateStudentById" parameterType="org.ymx.sp_mybatis.pojo.Student">        update student        set name=#{name},            age=#{age}        where id = #{id}    </update>    <!--查询结果集-->    <resultMap id="studentResult" type="org.ymx.sp_mybatis.pojo.Student">        <result column="id" javaType="INTEGER" jdbcType="INTEGER" property="id"/>        <result column="name" javaType="STRING" jdbcType="VARCHAR" property="name"/>        <result column="age" javaType="INTEGER" jdbcType="INTEGER" property="age"/>    </resultMap></mapper>

3.3 测试

@Autowiredprivate XmlStudentMapper studentMapper;@Testvoid testJavaMapperInsert() {    Student student = new Student("张三", 22);    System.out.println(studentMapper.saveStudent(student));}@Testvoid testJavaMapperFind() {    System.out.println(studentMapper.findStudentById(2));}@Testvoid testJavaMapperFindAll() {    System.out.println(studentMapper.findAllStudent());}@Testvoid testJavaMapperUpdate() {    Student student = new Student(2, "张三", 22);    System.out.println(studentMapper.updateStudentById(student));}@Testvoid testJavaMapperDelete() {    System.out.println(studentMapper.removeStudentById(2));}

4 总结

基本步骤:

SpringBoot怎么整合Mybatis

注意事项:

(1)相比注解方式,更推荐使用xml方式,因为注解方式将SQL语句嵌套到Java代码中,一旦需要修改则需要重新编译项目,而xml方式则不需要重新编译项目

(2)xml方式需要在主启动函数或配置类中配置接口的扫描路径

关于“SpringBoot怎么整合Mybatis”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“SpringBoot怎么整合Mybatis”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: SpringBoot怎么整合Mybatis

本文链接: https://www.lsjlt.com/news/354714.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot怎么整合Mybatis
    这篇文章主要介绍了SpringBoot怎么整合Mybatis的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么整合Mybatis文章都会有所收获,下面我们一起来看看吧。Mybatis的简单介...
    99+
    2023-07-05
  • SpringBoot怎么整合mybatis+mybatis-plus
    本文小编为大家详细介绍“SpringBoot怎么整合mybatis+mybatis-plus”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot怎么整合mybatis+mybatis-plus”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-02
  • springboot 中怎么整合fluent mybatis
    这篇文章给大家介绍springboot 中怎么整合fluent mybatis,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。导入pom依赖<!--     &nb...
    99+
    2023-06-20
  • SpringBoot整合Mybatis-plus怎么使用
    今天小编给大家分享一下SpringBoot整合Mybatis-plus怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-06-30
  • springboot怎么整合并使用mybatis
    本文小编为大家详细介绍“springboot怎么整合并使用mybatis”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot怎么整合并使用mybatis”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-06
  • Springboot整合mybatis的步骤
    目录前期工作1.导入mybatis整合依赖2.连接数据库3.连接完数据库就去applicaton.yml配置一下数据库开始整合1.编写与数据库对应的实体类2.编写mapper3.编写...
    99+
    2022-11-12
  • SpringBoot如何整合MyBatis-Plus
    这篇文章主要为大家展示了“SpringBoot如何整合MyBatis-Plus”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SpringBoot如何整合MyBatis-Plus”这篇文章吧。环境...
    99+
    2023-06-29
  • SpringBoot热部署和整合Mybatis
    目录 一、SpringBoot热部署 1.1 添加DevTools依赖 1.2 在idea中设置自动编译 1.3 在Idea设置自动运行 二、SpringBoot整合Mybatis 2.1 准备数据 2.2 添加相关依赖 2.3 在配置文件...
    99+
    2023-10-20
    spring boot mybatis java 原力计划
  • springboot整合mybatis流程详解
    目录1.mybatis是什么2.整合2.1 导入依赖2.2 创建包和类2.3 在application.yaml配置mybatis3.使用注解版mybaits4.实战过程1.myba...
    99+
    2022-11-13
  • SpringBoot 整合mybatis+mybatis-plus的详细步骤
    目录前言准备工作整合步骤前言 在真实的项目开发中,使用SpringBoot可以说非常普遍了,而在框架整合中,与数据库的交互无外乎使用jpa,mybatis,mybatis-plus这...
    99+
    2022-11-13
  • SpringBoot整合mybatis的方法详解
    目录1 依赖配置2 使用2.1 SpringBoot配置整合mybatis:2.2 SpringBoot注解整合mybatis:2.3 在配置类上增加@MapperScan注解,扫描...
    99+
    2022-11-13
  • SpringBoot整合MyBatis的代码详解
    目录SpringBoot整合MyBatis依赖的导入大致目录相关文件配置创建数据库和相对应的Pojo类Service层的编写Controller层的编写登录测试SpringBoot整...
    99+
    2022-11-13
  • SpringBoot如何整合mybatis-generator-maven-plugin1.4.0
    目录SpringBoot实现整合mybatis-generator-maven-plugin 1.4.0创建 Maven 工程pom.xml 引入依赖和插件generatorConf...
    99+
    2023-01-12
    SpringBoot整合mybatis-generator-maven-plugin 1.4.0 SpringBoot整合mybatis-generator-maven-plugin SpringBo
  • SpringBoot整合MyBatis超详细教程
    目录1.整合MyBatis操作1.1.配置模式1.2.注解模式1.3.混合模式1.整合MyBatis操作 前面一篇提到了SpringBoot整合基础的数据源JDBC、Druid操作,...
    99+
    2022-11-12
  • SpringBoot整合MyBatis的示例分析
    这篇文章主要介绍了SpringBoot整合MyBatis的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.整合MyBatis操作前面一篇提到了SpringBoot整...
    99+
    2023-06-15
  • SpringBoot整合Mybatis+人大金仓(kingbase8)
    陈老老老板🦸 👨‍💻本文专栏:国产数据库-人大金仓(kingbase8)(主要讲一些人大金仓数据库相关的内容) 👨‍💻本文简述:本文讲一下My...
    99+
    2023-08-17
    mybatis spring boot java
  • SpringBoot整合Mybatis-plus的具体使用
    目录一、mybatis-plus简介:二、springboot整合mybatis-plus案例一、mybatis-plus简介: Mybatis-Plus(简称MP)是一个 Myba...
    99+
    2022-11-13
  • SpringBoot整合MyBatis-Plus的示例代码
    目录前言源码环境开发工具 SQL脚本 正文单工程POM文件(注意) application.properties(注意)自定义配置(注意)实体类(注意)...
    99+
    2022-11-13
  • SpringBoot框架整合Mybatis简单攻略
    目录步骤 1 添加mybatis-starter依赖步骤 2 如何配置mybatis到SpringBoot项目步骤 3 测试查询步骤 4 mybatis注解方式步骤 5 用注解方式做...
    99+
    2022-11-12
  • springboot与mybatis整合的示例分析
    这篇文章主要介绍了springboot与mybatis整合的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。整合MyBatis新建Spring Boot项目,或以Cha...
    99+
    2023-05-30
    springboot mybatis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作