MySQl Mybatis

 

一、MySQL

1.1 概述

 1.1.1 MySQL安装

 

1.1.2 数据模型

1.1.3 SQL简介

 

1.2 DDL

1.2.1 数据库操作

 

1.2.2 图形化工具

 

 

1.2.3 表结构操作

 (一)创建

(二)数据类型 

(1)数值类型

age tinyint unsigned——加上unsigned就是不能取负数,将取值范围取正数区间变大。

(2)字符串类型

char(10):最多只能存储10个字符,不足10个字符,占用10个字符空间(性能较高、浪费空间)

varchar(10): 最多只能存储10个字符,不足10个字符,按照实际长度存储(性能较低、节省空间)

 (3)日期类型

(三)查询
 (四)修改

(五)删除

 

1.3 DML

1.3.1 添加数据insert

1.3.2 修改数据update

1.3.3 删除数据delete

1.4 DQL

1.4.1 基本查询

 

 1.4.2 条件查询

 

 

1.4.3 聚合函数

1.4.4 分组查询

1.4.5 排序查询

 

1.4.6 分页查询

 

1.5 多表设计

1.5.1 一对多

 

 

1.5.2 一对一

1.5.3 多对多

1.6 多表查询

1.6.1 概述

 

1.6.2 内连接

1.6.3 外连接

1.7 子查询

1.7.1 标量子查询

 

1.7.2 列子查询

1.7.3 行子查询

1.7.4 表子查询

1.8 事务

1.8.1 介绍与操作

 

1.8.2 四大特性

1.9 索引

1.9.1 介绍

1.9.2 结构

1.9.3 操作语法

2 Mybatis

2.1 入门

2.1.1 介绍

2.1.2 快速入门程序

 

 

 

2.1.3 JDBC介绍

(一)JDBC操作数据库

package com.itheima;import com.itheima.mapper.UserMapper;
import com.itheima.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.sql.*;
import java.util.ArrayList;
import java.util.List;@SpringBootTest //springboot整合单元测试的注解
class SpringbootMybatisQuickstartApplicationTests {@Autowiredprivate UserMapper userMapper;@Testpublic void testListUser(){List<User> userList = userMapper.list();userList.stream().forEach(user -> {System.out.println(user);});}@Testpublic void testJdbc() throws Exception {//1. 注册驱动Class.forName("com.mysql.cj.jdbc.Driver");//2. 获取连接对象String url = "jdbc:mysql://localhost:3306/mybatis";String username = "root";String password = "1234";Connection connection = DriverManager.getConnection(url, username, password);//3. 获取执行SQL的对象Statement,执行SQL,返回结果String sql = "select * from user";Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery(sql);//4. 封装结果数据List<User> userList = new ArrayList<>();while (resultSet.next()){int id = resultSet.getInt("id");String name = resultSet.getString("name");short age = resultSet.getShort("age");short gender = resultSet.getShort("gender");String phone = resultSet.getString("phone");User user = new User(id,name,age,gender,phone);userList.add(user);}//5. 释放资源statement.close();connection.close();}
}

 输出:

 

 

2.1.4 数据库连接池

 

 

 

2.1.5 lombook

 

 

2.2 基础操作

2.2.1 环境准备

 

2.2.2 删除

(一)根据主键删除

 

若想获取删除了几条数据的返回值:

 

输出:0

(二)日志输出

 

 

2.2.3 新增

 

 

2.2.4 更新 

2.2.5 查询

(一)主键查询

 

解决方案一:给字段起别名,让别名与实体类属性一致

解决方案二:通过@Results,注释手动映射封装 

解决方案三:开启mybatis驼峰命令自动映射开关

 直接运行原始代码就可以

总结:

(二)条件查询

 

 

2.3 XML映射文件

 Mapper接口全限定名可以 选中接口名称-copy reference-粘贴到namespace

 

 

2.4 动态SQL 

2.4.1 if

 

 

 

 

 

 

2.4.2 foreach

 

 

2.4.3 sql include

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/622061.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Page 251~254 Win32 GUI项目

win32_gui 源代码&#xff1a; #if defined(UNICODE) && !defined(_UNICODE)#define _UNICODE #elif defined(_UNICODE) && !defined(UNICODE)#define UNICODE #endif#include <tchar.h> #include <windows.h>/* Declare Windows procedure */…

开源知识库zyplayer-doc部署指南

1.前置条件 docker已经安装 mysql已经安装且数据库zyplayer-doc存在 服务器ip:192.168.168.99/ 数据库账户:root,密码:123456 2.拉取镜像 docker pull zyplayer/zyplayer-doc:latest 3.启动 docker run -d \--restart unless-stopped \--name zyplayer-doc \-p 8083:8083 …

常用的排序算法

该文章笔记结合菜鸟教程的排序算法&#xff0c;如果后面认识有改动或者完善再继续 最近笔试很多题目都考察过了基本的排序算法&#xff0c;尤其是快排、冒泡、选择&#xff0c;大家在这一方面一定要注意下。 一. 总述 1. 时间复杂度 详细介绍 1. 冒泡排序 冒泡排序重复地走…

看完这篇带你了解大学生必考安全证书NISP详解

NISP证书详解 NISP证书介绍&#xff1a;NISP证书等级&#xff1a;NISP&#xff08;一级&#xff09;报名&#xff1a;NISP&#xff08;一级&#xff09;课程大纲&#xff1a;NISP&#xff08;二级&#xff09;报名NISP&#xff08;二级&#xff09;课程大纲NISP二级置换CISP指南…

如何编写项目交接文档

目录 一、项目介绍 二、项目干系人 三、项目沟通群 四、项目工作流程 五、项目资料 六、待处理跟进事项

开源6位半万用表硬件电路分析

开源6位半手持式万用表 这里用的LM399H参考源&#xff0c;单片机是STM32L152&#xff0c;里面还用了MACHXO2-1200FPGA。 万用表由两块PCB组成。 硬件组成部分 电源管理电路 电源用的是6-10V&#xff0c;电源管理部分&#xff0c;首先用来一个ADP5070芯片&#xff08;内部含有…

Container ansible disguises local ansible 【容器 ansible 伪装本地 ansible】

预备条件&#xff1a; ctr & crictl $ nerdctl & containerd install了解 kubespray 是什么 kubespray 包含 ansible、ansible-playbook命令以及通过kubespray项目安装kubernetes集群的介质。 nerdctl pull quay.io/kubespray/kubespray:v2.23.1 nerdctl save -o qu…

Spell.dbc

Spell.dbc&#xff08;3.3.5.12340&#xff09; 因篇幅较长&#xff0c;以表格文件形式展示 链接地址&#xff1a; Spell.dbc&#xff08;3.3.5.12340&#xff09; 附图&#xff1a;

数据结构学习 jz14剪绳子

关键词&#xff1a;数学 动态规划 快速幂 这道题其实是分为两题。 题目一&#xff1a; 这道题我是没有思路的&#xff0c;看了k神的答案才知道有数学的方法。 方法一&#xff1a; 数学&#xff1a;其实中间的推导我没看&#xff0c;我服了。 思路&#xff1a; 复杂度计算&…

逆变器之推挽谐振

首先把前级推挽电路分成几个模块&#xff1a;方波发生器、谐振LC、整流滤波以及负载。框图如下图所示&#xff1a; 分析前提&#xff1a;稳态 在推挽电路正常工作中&#xff0c;输入电压恒定、输出电流电压也恒定&#xff08;电源处于稳定的工作状态中&#xff09; 方波发生器…

C-操作符详解

1.进制转换 1.1 10进制转2进制 方法&#xff1a;短除法 1.2 2进制转换8进制 8进制的数字每⼀位是0~7的&#xff0c;0~7的数字&#xff0c;各⾃写成2进制&#xff0c;最多有3个2进制位就⾜够了&#xff0c;⽐如7的⼆进制是111&#xff0c;所以在2进制转8进制数的时候&#xf…

SQL语句详解一

概念 什么是 SQL&#xff1f;&#xff08;如果还未安装MySQL请参考此文章安装下&#xff09; Structured Query Language&#xff1a;结构化查询语言其实就是定义和操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方&#xff0c;称为"方言"。 SQ…

C语言常用库函数

1.C语言标准库函数 C语言标准库函数由15个头文件组成。 1.数学函数 数学计算是计算机最擅长的运算&#xff0c;计算机大部分运算方法都是基于数学计算执行的。C语言提供了很多用于数学计算的库函数&#xff0c;合理利用这些库函数&#xff0c;将对程序的编写和运行起到事半功…

Socket通讯使用的坑-消息合并发送-解决方法

关联文章 Socket通讯使用的坑-消息合并发送-CSDN博客 解决方法 /// <summary> /// 公共方法 /// </summary> public static class CommonMethods {/// <summary>/// 多个JSON对象字符串转成JSON字符串列表/// </summary>/// <param name"j…

点云深度图像创建(DepthImage)

目录 一、相关介绍 二、生成深度图像方法 三、实现代码 四、运行结果

初始化网络的权重和偏置的方法有哪些?

在神经网络中&#xff0c;权重和偏置的初始化对模型的训练和最终性能有重要影响。一个好的初始化方法可以帮助加速梯度下降的收敛速度&#xff0c;减少训练时间&#xff0c;甚至有助于避免训练过程中的问题&#xff0c;比如梯度消失或梯度爆炸。下面是一些常用的权重和偏置初始…

第9章-第2节-Java中的反射机制

1、概念&#xff1a; 反射机制&#xff1a;是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意属性和方法&#xff1b;这种动态获取信息以及动态调用对象方法的功能称为 java…

Python:pickle 模块详解

pickle 模块是 Python 中用于序列化和反序列化对象的标准模块。它可以将对象转换为字节流&#xff0c;以便将其保存到文件或通过网络传输&#xff0c;然后再将字节流还原为原始对象。以下是 pickle 模块的常用函数、示例以及一些注意事项&#xff1a; pickle.dump() 函数&…

ModuleNotFoundError: No module named ‘wtforms.ext‘

flask运行报错&#xff1a; ModuleNotFoundError: No module named wtforms.ext 解决办法&#xff1a; python -m pip install WTForms2.3.3参考&#xff1a; superset 安装及连接clickhouse可视化_superset clickhouse-CSDN博客

Python每日一练-DAY03

Question 3 题目 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和 解题思路一 题目分析: 这道题目要求我们计算一个分数序列的前20项之和。 这个分数序列中,每一项的分子是前两项的分子之和,分母是前两项的分母之和。 例如,第三项的分子为2+3=5…