Spring-boot + MySQL + MyBatis
创建时间:2020-03-28 21:18
字数:992
阅读:
Spring-boot + MySQL + MyBatis 准备工作
IntelliJ IDEA旗舰版2019.1.4
MySQL 8.0.12
创建一个user表
在数据库demo中创建一个user表,包含字段id,name,gender 数据库的基本知识可查看:小磊福利
命令如下:
1 2 3 4 5 6 7 create database if not exists demo character set utf8; use demo; create table user(id int,name varchar(20),gender varchar(1)); insert into user(id,name,gender) values(01,'张三','男'); insert into user(id,name,gender) values(02,'李四','女'); insert into user(id,name,gender) values(03,'王五','男'); select id,name,gender from user;
返回如下信息:
搭建Spring Boot框架 pox.xml中添加如下依赖,注意自己的MySQL版本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!-- 添加 MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <!-- 注意官网的更新,旧版也不是不可以 --> <version>1.3.2</version> </dependency> <!-- 添加 MySQL --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <!-- 我的版本是8.0.12 --> <version>8.0.12</version> </dependency>
在 resources/application.properties中添加下列语句连接–数据库 1 2 3 4 5 6 spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver mybatis.type-aliases-package=com.example.demo.mapper server.port=8081
spring.datasource.url数据库连接字符串,3306是MySQL的默认端口,demo是表所在的数据库,后面的参数直接复制即可,之前有个时区参数忘记加上去总是报错
spring.datasource.username:数据库用户名
spring.datasource.password:用户名密码
spring.datasource.driver-class-name 驱动类型
mybatis.type-aliases-package 配置mapper包名
源码来了 分为三部分:实体类、Mapper接口、Controller类,Controller类直接调用Mapper接口进行数据持久化处理。 实体类
1 2 3 4 5 6 7 package com.example.demo.entity; public class User { private int id; private String name; private String gender; }
右键-Generate…-Getter and Setter 或 Alt+Insert+Getter and Setter,全都选上点击OK。
Mapper接口
新建一个mapper包,在这个包中新建一个UserMapper接口。具体代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package com.example.demo.mapper; import com.example.demo.entity.User; import org.apache.ibatis.annotations.*; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface UserMapper { @Select("SELECT * FROM user") @Results({ @Result(property = "name", column = "name") }) List<User> getAll(); @Select("select * from user where id=#{id}") User getById(int id); @Insert({"insert into user(id,name,gender) values(#{id},#{name},#{gender})"}) void install(User user); @Update({"update user set name=#{name},gender=#{gender} where id=#{id}"}) void Update(User user); @Delete("delete from user where id=#{id}") void delete(int id); }
@Select查询注解
@Results结果集标识,用来对应数据库列名,如果实体类属性和数据库属性名保持一致,可以 忽略此参数
@Insert插入注解
@Update修改注解
@Delete删除注解 完成上述操作后,在主程序入口添加@Mapper(‘com.example.demo.mapper’)。
Controller类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 package com.example.demo.web; import com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class UserController { @Autowired private UserMapper userMapper; @GetMapping("/getAll") public List<User> getAll(){ return userMapper.getAll(); } @GetMapping("/install") public List<User> install(User user){ userMapper.install(user); return userMapper.getAll(); } @GetMapping("/delete") public List<User> delete(int id){ userMapper.delete(id); return userMapper.getAll(); } @GetMapping("/update") public List<User> update(User user){ userMapper.Update(user); return userMapper.getAll(); } @GetMapping("/get") public User get(int id){ return userMapper.getById(id); } }
测试阶段
查询所有数据 :localhost:8081/getAll
查询单挑记录 : localhost:8081/get?id=3
增加数据 : localhost:8081/install?id=4&name=石磊&gender=男
删除数据 : localhost:8081/delete?id=1
修改数据 : localhost:8081/update?id=4&name=小磊真帅&gender=男
别忘了打赏哟
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 2113132982@qq.com
文章标题: Spring-boot + MySQL + MyBatis
文章字数: 992
本文作者: 南邮石磊
发布时间: 2020-03-28, 21:18:59
最后更新: 2020-08-06, 00:38:00
原始链接: https://southpost.github.io/2020/03/28/Spring-boot%20+%20MySQL%20+%20MyBatis/
版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。