SpringBoot2.0系列--04--最简单的Mybatis连接数据库

SpringBoot2.0系列–04–最简单的Mybatis连接数据库

文章目录

  • SpringBoot2.0系列--04--最简单的Mybatis连接数据库
    • 前言
    • 介绍
    • 总流程
    • 示例
      • 添加需要依赖的包
      • 在配置文件中添加数据库连接(ip、端口、账号密码)
      • 先在数据库中建表(先建表还是先写实体类,看个人的习惯)
      • 在entity中添加与数据库表对应的实体类XXX
      • 添加数据库访问层XXXDao,包路径在dao.mysql,注意这个dao是以接口形式出现
      • 在XXXDao中添加方法(就是对数据库的操作)
      • 在resources/mapper中添加对应的XXX.xml文件
      • 在XXX.xml中配置:
      • 在application.yml配置下mapper的路径,第七条的路径
      • 在项目启动的main文件上添加注解,路径就是第五条的路径:
      • 启动访问
    • 通用Mybatis的使用
    • 联系方式

前言

JDK出11了,SpringBoot出2.0了,还没有系统的学习过,刚好最近项目中有使用到,就把一些关键的东西列出来,避免忘记
SpringBoot2.0系列–00–目录

介绍

写完前台访问,下来就是访问数据库,这样基本的主干就有了

这边使用的是Mybatis框架,在整个行业中使用的也是比较广了,生态相对较好

下面直接看下怎么集成吧

这个是最精简的一个方式了,主要是引入的包和书写的代码是最少的,最少的东西,那么出错的概率就最小,出错之后排查也是最简单的

总流程

  1. 添加需要依赖的包
  2. 在配置文件中添加数据库连接(ip、端口、账号密码)
  3. 先在数据库中建表(先建表还是先写实体类,看个人的习惯)
  4. 在entity中添加与数据库表对应的实体类XXX
  5. 添加数据库访问层XXXDao,包路径在dao.mysql,注意这个dao是以接口形式出现
  6. 在XXXDao中添加方法(就是对数据库的操作)
  7. 在resources/mapper中添加对应的XXX.xml文件
  8. 在XXX.xml中配置:
    • dao和entity的联系
    • entity中的数据和数据库字段的对应关系
    • dao中写的那些方法的具体实现(具体到sql语句)
  9. 在application.yml配置下mapper的路径,第七条的路径
  10. 在项目启动的main文件上添加注解,路径就是第五条的路径:

@MapperScan(“com.lizhaoblog.pro004mybatis.dao”)

  1. 启动访问

示例

这里以User表为例,分别对上面的过程进行解释

添加需要依赖的包



  4.0.0

  com.lizhaoblog
  pro004-mybatis
  0.0.1-SNAPSHOT
  jar

  pro004-mybatis
  Mybatis Connection Demo project for Spring Boot

  
    org.springframework.boot
    spring-boot-starter-parent
    2.0.5.RELEASE
     
  

  
    UTF-8
    UTF-8
    1.8
    5.1.38
  


  
    
      org.springframework.boot
      spring-boot-starter-test
      test
    
    
      org.springframework.boot
      spring-boot-starter-web
    

    
    
      org.mybatis.spring.boot
      mybatis-spring-boot-starter
      1.3.2
    
    
      org.springframework.boot
      spring-boot-starter-data-jpa
    
    
      org.springframework.boot
      spring-boot-starter-jdbc
    
    
      mysql
      mysql-connector-java
    
    

  

  
    
      
        org.springframework.boot
        spring-boot-maven-plugin
      
    
  




在配置文件中添加数据库连接(ip、端口、账号密码)

# mysql
spring:
    datasource:
        name: test
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8
        username: admindev
        password: admin123

先在数据库中建表(先建表还是先写实体类,看个人的习惯)

这样我们就建一个简单的表、三个字段id/name/age
数据库sql在etc/mysql.sql中

/*
SQLyog 企业版 - MySQL GUI v8.14 
MySQL - 5.6.26-log : Database - test
*********************************************************************
*/

/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `test`;

/*Table structure for table `user` */

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(256) DEFAULT NULL,
  `age` int(11) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

/*Data for the table `user` */

insert  into `user`(`id`,`name`,`age`) values (1,'aaa',11),(2,'bbb',22);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

在entity中添加与数据库表对应的实体类XXX

/*
 * Copyright (C), 2015-2018
 * FileName: User
 * Author:   zhao
 * Date:     2018/10/11 17:51
 * Description: User实体类
 * History:
 *           

添加数据库访问层XXXDao,包路径在dao.mysql,注意这个dao是以接口形式出现

在XXXDao中添加方法(就是对数据库的操作)

这2个一起写了

/*
 * Copyright (C), 2015-2018
 * FileName: UserDao
 * Author:   zhao
 * Date:     2018/10/11 17:50
 * Description: User数据库连接类
 * History:
 *           

在resources/mapper中添加对应的XXX.xml文件

在XXX.xml中配置:

  • dao和entity的联系
  • entity中的数据和数据库字段的对应关系
  • dao中写的那些方法的具体实现(具体到sql语句)




  
  
    
    
    
  


  


在application.yml配置下mapper的路径,第七条的路径

# Mybatis配置
mybatis:
    mapper-locations: "classpath:mapper/**/*.xml"

在项目启动的main文件上添加注解,路径就是第五条的路径:

@MapperScan(“com.lizhaoblog.pro004mybatis.dao”)

package com.lizhaoblog.pro004mybatis;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.lizhaoblog.pro004mybatis.dao")
public class Pro004MybatisApplication {

  public static void main(String[] args) {
    SpringApplication.run(Pro004MybatisApplication.class, args);
  }
}

启动访问

输入网址:http://127.0.0.1:8080/mybatis/find-all

结果:[User{id=1, name=‘aaa’, age=11}, User{id=2, name=‘bbb’, age=22}]

这样子就是连接成功了

通用Mybatis的使用

这样连接成功了数据库,刚开始还好,如果经常开发业务的话,就会写挺多dao的,所以很多通用dao框架就出现了,这些框架一般都包含了一些常用的方法,比如增删改查计数等

这个放到后面那篇说。

联系方式

项目代码路径码云:https://gitee.com/lizhaoandroid/Springboot-Learning-lz

联系方式:QQ3060507060

查看下一篇或者其他文章,可点击目录或者专栏查看

你可能感兴趣的:(java,mybatis,SpringBoot,SpringBoot2.0系列)