前言
在上节中我们已经学过了SpringBooot
整合MyBatis
的知识。大家有兴趣的话,可以参考以下文章
SpringBoot(36) — SpringBoot整合MyBatis
这节我们学习下MyBatis
在xml
中如何进行数据库的基本操作—增删改查的。
今天设计知识有:
- 讲述前的准备
1.1 用于转换数据库数据的POJO— Student
1.2 dao 包下的接口类
1.3 resource/mapper/ 文件夹下建操作数据库的xml文件 - 增删改查概览
- 增删改查详论
3.1 添加数据
根据属性添加数据
添加单个对象
添加对象集合
批量添加map
3.2 删除数据
3.3 修改数据
3.4 查询数据
查询单条数据
查询数据集合 - 传递多个参数问题
传参解释
注解传参 - 测试
-
StudentDao
类及UserMapper.xml
源码 - 项目结构图及更多
先来波测试结果展示:
======我是测试啊=====
======小黑仔已存在======
======小白已存在======
==getIdByNameAndAge1====查询id=30
==getIdByNameAndAge2====查询id2=30
===k==student=Student(id=2, name=小明, age=18)
===k==student=Student(id=3, name=小华, age=20)
===k==student=Student(id=4, name=小黑, age=15)
===k==student=Student(id=9, name=小黑仔, age=16)
===k==student=Student(id=10, name=小白, age=24)
===k==student=Student(id=26, name=小灰0, age=12)
===k==student=Student(id=27, name=小灰1, age=13)
===k==student=Student(id=28, name=小灰2, age=14)
===k==student=Student(id=30, name=小黄5, age=27)
一. 讲述前的准备
需要注意的是,本篇文章是建立在SpringBoot(36) — SpringBoot整合MyBatis之上的,所涉及的增删改查主要涉及到几个类。
1.1 用于转换数据库数据的POJO— Student
Student
类代码如下:
/**
* Title:
* description:
* autor:pei
* created on 2019/9/3
*/
@Data
@Component("Student")
public class Student {
private int id;
private String name;
private int age;
}
1.2 dao 包下的接口类
StudentDao
类代码如下(这里只写一个空的类),后续会详细讲解:
/**
* Title:
* description:
* autor:pei
* created on 2019/9/3
*/
@Repository
public interface StudentDao{
}
1.3 resource/mapper/ 文件夹下建操作数据库的xml文件
在resource/mapper/
下新建UserMapper.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:命名空间,设置对应dao文件类券路径,一般保证命名空间唯一 -->
<mapper namespace="com.firstpro.dao.StudentDao">
<!-- 以下将写具体的数据库查询逻辑 -->
</mapper>
当然,我们还要准备一个Mysql
数据库,并把这个库连接起来。
二. 增删改查概览
我们的增删改查逻辑主要是在UserMapper.xml
文件中进行。且这些操作对应不同的标签。
- insert:添加数据的标签
- delete:删除数据的标签
- update:修改数据的标签
- select:查询数据的标签
在执行单个标签的语句时,我们还会涉及到一些基本的属性:
- id:语句标签的唯一id,一般和
dao
代码类的该方法名一一对应 - parameterType:表示
dao
代码类的该方法参数数据类型 - resultType:表示
dao
代码类的该方法返回值数据类型 - resultMap:表示
dao
代码类的该方法返回值(集合)数据类型 - javaType: 传参解释数据类型
- jdbcType: 数据库数据存储类型
接下来,我们将对UserMapper.xml
执行数据库增删改查做句具体讲解。
三. 增删改查详论
3.1 添加数据
根据属性添加数据
在接口类StudentDao
添加方法:
/**根据name,age属性添加数据**/
void insertStudentInfo(String name,int age);
然后在UserMapper.xml
中添加对应的添加语句:
网友评论