当前位置: 首页 > news >正文

MyBatis之增、删、查、改

目录

前言

一、配置MyBatis开发环境

1.1 创建数据库和表

1.2 添加框架支持

1.3 创建目录结构

1.4 配置数据库连接

1.5 配置MyBatis中的XML文件路径

二、添加业务代码

2.1 查询数据库操作

2.1.1 添加实体类

2.1.2 添加mapper接口

2.1.3 在xml中实现mapper接口

2.1.4 实现service和controller

2.2 修改数据

2.2.1 添加mapper接口

2.2.2 实现mapper接口

2.3 删除数据

2.2.1 添加mapper接口

2.2.2 实现mapper接口

2.4 新增数据

2.2.1 添加mappe接口

2.2.2 实现mapper接口


前言

        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则可以获取到。

http://www.lryc.cn/news/21122.html

相关文章:

  • 死磕Spring,什么是SPI机制,对SpringBoot自动装配有什么帮助
  • 因果推断10--一种大规模预算约束因果森林算法(LBCF)
  • Linux基础命令-df显示磁盘的使用情况
  • 如何使用goquery进行HTML解析以及它的源码分析和实现原理
  • 【Java 数组和集合 区别及使用案例】
  • 使用pynimate制作动态排序图
  • Mysql 事务的隔离性(隔离级别)
  • 2023年网络安全竞赛——Python渗透测试PortScan.py
  • 【数据结构】栈的接口实现(附图解和源码)
  • LC-1255. 得分最高的单词集合(回溯)
  • 从中国文化看面试挑人标准
  • 谦卑对象设计模式
  • QML Animation动画详解
  • C#开发的OpenRA的加载界面边框的细节
  • 计算机网络笔记、面试八股(四)—— TCP连接
  • Centos7 安装jenkins java1.8版本
  • 【每日阅读】JS知识(三)
  • Vue(6)
  • Neo4j列表函数
  • 55. 跳跃游戏
  • typedef在c语言中的作用
  • 计算机网络体系结构及分层参考模型
  • LLVM程序分析与编译转换框架论文分享
  • 《程序员思维修炼》速读笔记
  • 【Hello Linux】进程概念
  • Bunifu.UI.WinForms 6.0.2 Crack
  • 学习 Python 之 Pygame 开发魂斗罗(五)
  • LeetCode 104. 二叉树的最大深度
  • pandas 中如何按行或列的值对数据排序?
  • 「牛客网C」初学者入门训练BC139,BC158