MySQL(事务、索引)&&MyBatis

目录

事务

概述

四大特性(ACID)

索引

结构

语法

MyBatis

数据库连接池

lombok

基本操作--增删改查

根据主键删除

新增

更新

查询(根据ID查询)

查询(条件查询)

XML映射文件

动态SQL

动态条件查询

标签和标签

动态更新

标签和标签

循环遍历--

标签和标签

开发规范-Restful

案例杂项

员工信息分页查询

分页查询插件PageHelper


事务

概述

事务指的是一组操作的集合,是一个不可分割的工作单位。事务会将所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败

默认MySQL的事务是自动提交,即当执行一条DML语句时,MySQL会立即隐式的提交事务

开启事务后运行事务不会对数据改变,commit后才会改变数据

如果有命令发生错误,需要进行rollback进行回滚、

四大特性(ACID)

索引

索引(index)是可以帮助数据库高效获取数据数据结构

结构

语法

数据库会默认创建主键索引,并且性能最高

MyBatis

MyBatis是一款优秀的持久层框架(dao层),用于简化JDBC开发

对于数据库的操作只需要关注properties文件和SQL语句即可,完爆JDBC!!!

数据库连接池

数据库连接池是个容器,负责分配、管理数据库连接

数据库连接池允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个

释放空闲时间超过最大空闲时间的连接,来避免因为没有释放连接而引起的数据库连接遗漏

优势:资源重用、提升系统响应速度、避免数据库连接遗漏

标准接口:DataSource

官方(sun)提供的数据库连接池接口,由第三方组织实现此接口

功能:获取连接

Connection getConnection() throws SQLException

Hikari--追光者(springboot默认连接池)

Druid--德鲁伊(阿里巴巴开源的数据库连接池)

lombok

基本操作--增删改查

根据主键删除

delete方法的返回值代表操作影响的记录数目

预编译SQL:性能更高,更安全(防止SQL注入)

更常用的是#{}

新增

主键返回:

更新

查询(根据ID查询)

问题:数据封装

白雪警告

真正解决:

配置文件中加入驼峰命名自动映射

严格遵守数据库中字段名a_column映射到java属性名aColumn

查询(条件查询)

使用concat函数

XML映射文件

注意:使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。

动态SQL

动态条件查询
<if>标签和<where>标签

动态更新
<if>标签和<set>标签

循环遍历--<foreach>

<sql>标签和<include>标签

开发规范-Restful

案例杂项

日志生成(加入Slf4j注解即可直接使用log)、指定请求方法为GET(加GetMapping注解或加入method)

关于Controller优化(类鸡肋)

员工信息分页查询

分页查询插件PageHelper

相关推荐

  1. 【数据库】MySQL索引事务

    2024-07-19 07:22:04       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 07:22:04       50 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 07:22:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 07:22:04       43 阅读
  4. Python语言-面向对象

    2024-07-19 07:22:04       54 阅读

热门阅读

  1. Qt解析复杂的csv格式文件

    2024-07-19 07:22:04       16 阅读
  2. 日常遇到的英文单词四

    2024-07-19 07:22:04       16 阅读
  3. zookeeper+kafka消息队列群集部署

    2024-07-19 07:22:04       17 阅读
  4. 侧开知识点合集2

    2024-07-19 07:22:04       12 阅读
  5. .net core IConfiguration 读 appsettings.json 数据,举例

    2024-07-19 07:22:04       18 阅读
  6. C# 多线程

    2024-07-19 07:22:04       11 阅读
  7. ES6 模块

    2024-07-19 07:22:04       12 阅读
  8. Armpro搭建教程全开源版的教程

    2024-07-19 07:22:04       17 阅读
  9. git实现多人协作开发同一个项目

    2024-07-19 07:22:04       16 阅读
  10. GitHub介绍

    2024-07-19 07:22:04       13 阅读
  11. 前端入门(一)环境搭建

    2024-07-19 07:22:04       13 阅读
  12. MySQL中的数据类型

    2024-07-19 07:22:04       18 阅读