java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查

前面我们讲完了一些java和springboot的基础知识以后,今天我们就来讲下springboot实现数据库的管理。

目前比较主流的方式有两种

1,springboot结合mybatis管理数据库
2,springboot结合jpa管理数据

这两种方式各有各的好,今天我们就先来讲讲springboot2结合mybatis实现数据的增删改查操作,下一节我们再讲jpa。

一,在pom.xml里添加mybatis依赖。

java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第1张图片

如上图所示,我们需要添加mybatis和mysql这两个依赖。代码如下

        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            LATEST
        
        
        
            mysql
            mysql-connector-java
            runtime
        

这里做下简单说明
mybatis库是我们实现mybatis的核心。
mysql库,是用来驱动管理数据库用的。

二,在application.yml里配置如下信息

java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第2张图片

上图就是做了,本地服务器端口配置,数据库关联配置。重要的是下面这段。

mybatis:
  mapper-locations: classpath:/mybatis/mapper/*.xml
  config-location:  classpath:/mybatis/config/mybatis-config.xml
  • mapper-locations 是配置我们mapper.xml文件的位置,我们把它配置在/src/main/resource/mybatis/mapper目录下。

  • config-locations 是配置mybatis-confg.xml文件的位置。我们把它配置在/src/main/resource/mybatis/config目录下。

接下来我们在resource目录下新建mybatis目录,然后在mybatis目录下新建/mapper目录和/config目录


java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第3张图片

三,配置mybatis的配置xml文件

1,在/src/main/resource/mybatis/config目录下新建mybatis-config.xml

具体代码如下。


java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第4张图片

把代码给大家贴出来。




    
        
    
    
    
        
    

这里要注意的是,typeAliases下的package配置的是我们实体类所在目录。

 
        
 

如我们的User实体类,在下图所示的这个目录


java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第5张图片

2,在/src/main/resource/mybatis/mapper目录下新建UserMapper.xml

这个UserMapper.xml里就是我们要执行的一些sql语句。先把代码给大家贴出来。






    
    
        
        
        
    

    
    
        insert into user
        
            
                id,
            
            
                name,
            
            
                age
            
        
        
            
                #{id,jdbcType=INTEGER},
            
            
                #{name,jdbcType=VARCHAR},
            
            
                #{age,jdbcType=INTEGER},
            
        
    

    
    
        delete from user where id=#{id}
    

    
    
        update user
        
            
                name = #{name,jdbcType=VARCHAR},
            
            
                age = #{age,jdbcType=INTEGER},
            
        
        where id = #{id,jdbcType=INTEGER}
    


    
    
    

四,创建User实体类。

package com.shitou.springbootdemos.mybatis.bean;

/**
 * user数据表对应的bean
 */
public class User {
    private Integer id;
    private String name;
    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

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

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

我们这里就简单的创建一个user类,和我们的user表对应,只有id,name,age三个字段

五,创建UserMapper接口,用来做增删改查操作

java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第6张图片

代码贴出来给大家

/**
 * user表对应的mapper
 */
public interface UserMapper {
    //新增用户

    int save(User user);

    //更新用户信息
    int update(User user);

    //根据id删除
    int deleteById(int id);

    //根据id查询
    User selectById(int id);

    //查询所有用户信息
    List selectAll();
}

六,创建user表。

我创建数据库表是用idea自带的可视化管理工具创建的,我前面有写文章讲过,如果借助idea来可视化管理mysql数据库。大家可以去翻看我之前的文章。


java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第7张图片

可视化建表


java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第8张图片

这时候mybatis的配置还不算成功,我们需要把mapper的路径暴露给spring 让它来扫描管理,所以我们需要在Chapter4Application.java文件上加上注解@MapperScan("com.shitou.springbootdemos.mybatis.repository") 扫描mapper的所在位置

七,在启动类里自动扫描我们定义的mapper接口

java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第9张图片

至此。我们mybaits的接口算是编写完毕,接下来我们来测试一下吧。

八,定义controller

java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第10张图片

如上图所示,我们定义一个controller来实现一个增加数据的接口。和一个查询所有用户的接口。
1, 启动项目。


java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第11张图片

2, 在浏览器中访问save接口


java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第12张图片

返回1代表添加新用户成功,到user表里看下,也能看到数据添加成功
java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第13张图片

3,在浏览器里访问getAll接口


java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查_第14张图片

可以看到我们成功的访问到我们上一步添加的数据。

到这里我们就轻松的实现了springboot2结合mybatis来管理数据库的功能了

源码:

https://github.com/qiushi123/springboot-demos

视频讲解

https://edu.csdn.net/course/detail/23443

往期回顾

  • java入门001--IntelliJ IDEA 配置阿里云Maven国内仓库(含idea下载及破解教程)

  • java入门002~jdk8 window版32位 64位 Mac版64位安装包

  • java入门003~手把手教你开发自己的第一个java项目(基于springboot2.1.5)

  • java入门004~五分钟教你用java开发一个小程序后台服务器~看完你也会

  • java入门005~springboot实现单个文件上传(图片 文档 视频 音频都可以上传)

  • java入门006~springboot实现多文件的上传(java多文件的上传)

  • java入门013~java异常的捕获~springboot通过@ControllerAdvice和@ExceptionHandler来捕获异常
  • java入门014~springboot自定义错误页面 并重定向到首页
  • java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查
  • java入门016~springboot2结合mybatis,免xml配置
  • java入门017~springboot创建多Moudle多模块的java项目

你可能感兴趣的:(java入门015~springboot2整合mybatis,轻松实现mysql数据的增删改查)