目录
前言
MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis是基于JDBC实现的,但是比JDBC的操作更加方便,MyBatis可以通过接口和XML来操作数据库。
简言之,MyBatis是更简单完成程序和数据库交互的工具,也就是说,使用MyBatis可以更简单地操作数据库。

一、配置MyBatis开发环境
1.1 创建数据库和表
既然要使用MyBatis操作数据库,那么前提条件是得有数据库,数据库中要有内容~
-- 创建数据库
drop database if exists mycnblog;
create database mycnblog DEFAULT CHARACTER SET utf8mb4;
-- 使用数据数据
use mycnblog;
-- 创建表[用户表]
drop table if exists userinfo;
create table userinfo(
id int primary key auto_increment,
username varchar(100) not null,
password varchar(32) not null,
photo varchar(500) default '',
createtime datetime default now(),
updatetime datetime default now(),
`state` int default 1
) default charset 'utf8mb4';
-- 添加一条测试数据
INSERT INTO `mycnblog`.`userinfo` (`id`, `username`, `password`, `photo`, `createtime`, `updatetime`, `state`) VALUES
(0, 'banana', 'banana456', '', '2023-2-25 17:10:48', '2023-2-25 17:10:48', 1);
1.2 添加框架支持
在创建Spring Boot框架时,添加MyBatis框架和数据库驱动:

1.3 创建目录结构

1.4 配置数据库连接
创建好项目之后,在配置文件中添加数据库的连接配置:

1.5 配置MyBatis中的XML文件路径
在配置文件中添加MyBatis的XML文件路径:

二、添加业务代码
2.1 查询数据库操作
2.1.1 添加实体类

该实体类是对mycnblog数据库中userinfo表的描述,并且需要实现每个字段的get和set方法。
2.1.2 添加mapper接口

2.1.3 在xml中实现mapper接口
MyBatis的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="com.example.demo.mapper.UserMapper">
</mapper>
注意:<mapper>标签中的namespace属性需要填写要实现的接口所在位置(包名+接口名)。
实现UserMapper接口中的getUserByID方法:

<select>是查询标签,用来执行数据库的查询操作,标签中的id属性需要填写要实现的方法名;
resultType属性表示该方法的返回值类型。
使用 #{} 的方式来接收参数。
2.1.4 实现service和controller
实现Service:

实现Controller:

2.2 修改数据
2.2.1 添加mapper接口

返回值类型为int,表示本次操作影响数据库的行数。
2.2.2 实现mapper接口

2.3 删除数据
2.2.1 添加mapper接口

2.2.2 实现mapper接口

2.4 新增数据
2.2.1 添加mappe接口

2.2.2 实现mapper接口

useGeneratedKeys:属性值为true表示MyBatis会取出由数据库内部生成的自增主键,默认为false。
keyProperty:表示useGeneratedKeys生成的自增主键赋值给UserInfo对象的哪个属性。
keyColumn:数据库中自增主键名。
区别:addUser方法在插入用户信息后,无法获取到用户id,而addUser2则可以获取到。
2520

被折叠的 条评论
为什么被折叠?



