请先关注 [低调大师说] 公众号
您现在的位置是:首页 > 文章详情

SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作

日期:2020-02-03点击:3179

前言



什么是 MyBatis?

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

参考资料:https://mybatis.org/mybatis-3/zh/

Jar包说明

本次采用mybatis-spring-boot-starter_v2.1.1版本,对应的MyBatis版本为3.5.3。并且数据库适应MySQL_v5.6.46版本,因此还需要引入MySQL驱动包。


1.添加MyBatis和MySQL依赖

打开pom.xml文件,添加

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>

如图:



2.数据库表准备

这里以account表为例子,创建account表

CREATE TABLE `account` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(128) NOT NULL COMMENT '用户名',
`passwd` varchar(128) NOT NULL COMMENT '密码',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

并且创建对应的实体类Account.java

package org.xujun.springboot.model;

public class Account {

/** ID **/
private Long id;

/** 用户名 **/
private String name;

/** 密码 **/
private String passwd;

public Account() {
super();
}

public Account(Long id, String name, String passwd) {
super();
this.id = id;
this.name = name;
this.passwd = passwd;
}

public Long getId() {
return id;
}

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

public String getName() {
return name;
}

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

public String getPasswd() {
return passwd;
}

public void setPasswd(String passwd) {
this.passwd = passwd;
}

@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Account [id=");
builder.append(id);
builder.append(", name=");
builder.append(name);
builder.append(", passwd=");
builder.append(passwd);
builder.append("]");
return builder.toString();
}

}

如图:



3.配置SpringBoot的application.properties文件

因为SpringBoot2.x默认使用hikari作为连接池,所以以下为hikari的配置方式

# 数据库配置
# spring.datasource.name : 数据源名称
# spring.datasource.driverClassName : 数据库驱动
# spring.datasource.url : 数据库连接地址
# spring.datasource.username : 数据库用户名
# spring.datasource.password : 数据库密码
# spring.datasource.type : 数据库类型
# spring.datasource.hikari.pool-name : 数据库连接池名称
# spring.datasource.hikari.minimum-idle : 最小连接数
# spring.datasource.hikari.maximum-pool-size : 最大连接数
# spring.datasource.hikari.auto-commit : 是否自动提交
# spring.datasource.hikari.idle-timeout : 连接闲置超时时间
# spring.datasource.hikari.max-lifetime : 连接在连接池中的存活时间
# spring.datasource.hikari.connection-timeout : 连接数据库超时时间
# spring.datasource.hikari.connection-test-query : 连接测试语句
spring.datasource.name=mysqlDataSource
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springBoot2?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.pool-name=hikariPool
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1

如图:



4.创建MyBatis的Mapper文件

首先创建AccountMapper.java接口文件

package org.xujun.springboot.dao;

import org.xujun.springboot.model.Account;

@Mapper
public interface AccountMapper {

Integer add(Account ac);

}

如图:


接着创建AccountMapper.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.xujun.springboot.dao.AccountMapper">

<insert parameterType="org.xujun.springboot.model.Account">
INSERT INTO account (name, passwd) VALUES (#{name}, #{passwd})
</insert>

</mapper>

如图:



5.编写Controller测试MyBatis插入数据

新增MyBatisController.java

package org.xujun.springboot.controller;

import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.xujun.springboot.dao.AccountMapper;
import org.xujun.springboot.model.Account;

@RestController
public class MyBatisController {

@Resource
private AccountMapper accountMapper;

@RequestMapping("mybatis")
public String mybatis() {
Account ac = new Account();
ac.setName("xujun");
ac.setPasswd("654321");
accountMapper.add(ac);
return "suc";
}

}

如图



6.测试结果

运行项目,并且访问[http://127.0.0.1:8080/mybatis]。结果如图



总结



本文主要讲解了SpringBoot整合MyBatis实现对数据的持久化,整合方式并不难,而对数据的持久化参考MyBatis即可。


最后献上福利,源码下载请点击下方链接。

文件下载

文件名称:SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作

更新日期:2020-02-03

关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章