SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
前言 什么是 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文件,添加 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表 sql 复制代码 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 java 复制代码 package org.xujun.springboot.model; /** * <p>Title : Account</p> * <p>Description : Account</p> * <p>DevelopTools : Eclipse_x64_v4.13.0R</p> * <p>DevelopSystem : Windows7</p> * <p>Company : org.xujun</p> * @author : XuJun * @date : 2019年12月18日 下午3:07:27 * @version : 1.0.0 */ 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的配置方式 sh 复制代码 # 数据库配置 # 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接口文件 java 复制代码 package org.xujun.springboot.dao; import org.xujun.springboot.model.Account; @Mapper public interface AccountMapper { Integer add(Account ac); } 接着创建AccountMapper.xml文件 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 id="add" parameterType="org.xujun.springboot.model.Account"> INSERT INTO account (name, passwd) VALUES (#{name}, #{passwd}) </insert> </mapper> 注意:在MyBatis的xml配置文件中,SQL语句不可用;结尾 5.编写Controller测试MyBatis插入数据 新增MyBatisController.java 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即可。