MySQL 简单开始
环境搭建
MySQL下载
MySQL Community Server(社区版)
MySQL Standard Edition(标准版)
MySQL Enterprise Edition(企业版)
MySQL Cluster CGE(集群版)
https://dev.mysql.com/downloads/windows/installer/8.0.html
MySQL安装
配置:
密码设置为 root\text {root}root:
MySQL配置
环境变量添加:C:\Program Files\MySQL\MySQL Server 8.0\bin(可忽略)
MySQL启动
1⃣服务管理工具:
确保 windows\text {windows}windows 服务启动
2⃣命令提示符
启动命令:
1net start MySQL80
关闭命令:
1net stop MySQL80
MySQL登陆
1⃣客户端:C:\ProgramData\M ...
MySQL DataBase
MySQL Database
MySQL Create DB
1CREATE DATABASE databasename;
MySQL Drop DB
1DROP DATABASE databasename;
MySQL Create Table
123456CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, ....);
MySQL Drop Table
1DROP TABLE table_name;
MySQL Alter Table
ADD Column
12ALTER TABLE table_nameADD column_name datatype;
ADD Column
12ALTER TABLE table_nameDROP COLUMN column_name;
MODIFY COLUMN
12ALTER TABLE table_nameMODIFY COLUMN column_name datatype;
MySQL Constraints
...
MySQL SQL
MySQL SQL
SQL\text {SQL}SQL 是处理关系数据库的标准语言,用于插入、搜索、更新和删除数据库记录。
SQL\text {SQL}SQL 关键字不区分大小写:SELECT与SELECT相同。
https://en.wikiversity.org/wiki/Database_Examples/Northwind/MySQL
一些重要的 SQL\text {SQL}SQL 命令
SQL\text {SQL}SQL 命令
含义
SELECT
extracts data from a database\text {extracts data from a database}extracts data from a database
UPDATE
updates data in a database\text {updates data in a database}updates data in a  ...
MyBatis6-MyBatisPlus
⬇参考代码:demo6
MyBatis-Plus
相关资源:
官方地址
代码地址
文档地址
简单开始
数据准备
创建数据库及表
12345678910111213141516DROP DATABASE IF EXISTS `mybatis_plus`;CREATE DATABASE `mybatis_plus`;use `mybatis_plus`;DROP TABLE IF EXISTS `user`;CREATE TABLE `user`( id BIGINT NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (id));
添加数据
12345678DELETE FROM `user`;INSERT INTO `user` (id, name, age ...
MyBatis5-插件
⬇参考代码:demo5
MyBatis 逆向工程
1⃣添加依赖:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.liangjiajia.cs</ ...
MyBatis4-缓存
⬇参考代码:demo4
MyBatis 缓存
MyBatis\text {MyBatis}MyBatis 提供了两级缓存:一级缓存和二级缓存。
一级缓存
作用范围:一级缓存是会话级别的缓存,它仅在会话(SqlSession)内有效。默认情况下,一级缓存总是被启用的。
工作机制:
查询操作:当执行查询操作时,MyBatis\text {MyBatis}MyBatis 首先检查一级缓存。
如果请求的数据在缓存中,MyBatis\text {MyBatis}MyBatis 将从缓存中返回数据,不会执行数据库查询。
如果请求的数据不在缓存中,MyBatis\text {MyBatis}MyBatis 将执行数据库查询。
缓存数据:执行数据库查询后,查询结果会被缓存在一级缓存中。
缓存失效:
当当前会话结束时,一级缓存中的所有数据都会被清空。
当在会话中执行任何写操作(insert、update、delete)时,MyBatis\text {MyBatis}MyBatis 会自动清空一级缓存,以避免数据不一致的问题。
生命周期:一级缓存的生命周期与SqlSession的生命周期相同 ...
MyBatis3-SQL执行
查询
⬇参考代码:demo2
查询单个实体类对象
1Customer selectCustomerById(@Param("CustomerId") Integer customerId);
12345<select id="selectCustomerById" resultMap="CustomerMap"> SELECT * FROM customers WHERE CustomerID = #{CustomerId}</select>
1234567@Testpublic void selectCustomerById() { SqlSession sqlSession = SqlSessionUtils.getSqlSession(); CustomerMapper customerMapper = sqlSession.getMapper(CustomerMapper.class); Customer customer = customerMapper.selectCustomerById(1); Syste ...
MyBatis2-参数获取
⬇参考代码:demo1
单个参数
CustomerMapper.java\text {CustomerMapper.java}CustomerMapper.java
1Customer selectCustomerById(Integer id);
CustomerMapper.xml\text {CustomerMapper.xml}CustomerMapper.xml
12345678910<!-- <select id="selectCustomerById" resultMap="CustomerMap">--><!-- SELECT *--><!-- FROM customers--><!-- WHERE CustomerID = '${id}'--><!-- </select>--><select id="selectCustomerById" resultMap="CustomerMap"> SELECT * F ...
MyBatis1-初步实践
⬇参考代码:\text {MyBatis\mybatis-demo\demo1}
简介
MyBatis\text {MyBatis}MyBatis 是一个流行的 Java\text {Java}Java 持久层框架,提供了对象关系映射(ORM\text {ORM}ORM)的功能,允许开发者通过 ORM\text {ORM}ORM 描述符或注解将对象与存储在数据库中的数据进行映射。
历史
iBATIS\text {iBATIS}iBATIS的诞生:MyBatis\text {MyBatis}MyBatis 最初被称为 iBATIS\text {iBATIS}iBATIS,由 Clinton Begin\text {Clinton Begin}Clinton Begin 在 2002 年创建。iBATIS\text {iBATIS}iBATIS 项目的目标是简化传统的 JDBC\text {JDBC}JDBC 代码,提供更简单的编程接口来减轻开发者直接使用 SQL\text {SQL}SQL 和 JDBC\text {JDBC}JDBC 所带来的负担。
转变为 MyB ...
JDK17+MySQL8
JDK 8 + MySQL 8 简易演示
JDBC\text {JDBC}JDBC(Java Database Connectivity\text {Java Database Connectivity}Java Database Connectivity)是 Java API\text {Java API}Java API,用于连接和执行与数据库的交互,是 Java\text {Java}Java 应用程序与数据库之间的桥梁,允许开发者在 Java\text {Java}Java 应用中执行SQL语句以查询和更新数据。JDBC\text {JDBC}JDBC 为多种关系数据库提供了统一的访问方式,使得 Java\text {Java}Java 程序能够跨数据库平台工作,而无需为每种数据库编写特定的代码。
加载 JDBC\text {JDBC}JDBC 驱动
1Class.forName("com.mysql.cj.jdbc.Driver");
创建连接
1⃣getConnection(String url) ...