目录
事务
概述
四大特性(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优化(类鸡肋)