Javaweb-事务管理
Spring 事务管理 @Transactional 注解:@Transactional 位置:业务层的方法上、类上、接口上 作用:将当前方法交给spring进行事务管理,方法执行前,开启事务;成功执行完毕,提交事务;出现异常,回滚; rollbackFor属性: 默认情况下,只有出现RuntimeException才回滚。rollbackFor属…
thumbnail
JavaWeb-异常处理:全局异常处理器
怎么处理出现的异常: 不处理:会直接向前端返回500 在异常处 try..catch,代码臃肿 全局异常处理器: 注解: 类的注解:@RestControllerAdvice 声明全局异常处理器类 方法的注解:@ExceptionHandler(捕获异常类型):指定处理的异常类型 例:GlobalExceptionHandler.java: pac…
thumbnail
JavaWeb-登录认证
1 登录校验: 2 会话技术: 会话:浏览器访问资源,建立会话;一方断开连接,结束会话。一次会话可以包含多次请求和响应。 会话跟踪:维护浏览器状态,服务器需要识别多次请求是否来自于同一个浏览器,以便在同一次会话的多次请求间共享数据。 会话跟踪方案: 客户端会话跟踪技术:Cookie 优点:HTTP协议自带且支持 缺点: 移动端APP无法使用 不安全…
Javaweb-文件上传
1. 条件 1.1 前端要素: 表单项 type="file" 提交方式 post 表单enctype属性 multipart/form-data 1.2 后端要素: MultipartFile 2 本地存储: 不常用。 存储在磁盘中无法在前端页面直接访问 保存文件时可以使用UUID为每一个文件创建一个独一无二的文件名而防止被覆盖。 String …
常见小问题合集:
1 Idea 抽风爆红 File->Invalidate Caches..解决99%的问题! 2 application.properties 中文乱码 File->Settings->Editor->File Encodings 全部改为UTF-8 3 Parameter 'XXX' not found. 有时候当有多个参…
Mybatis
入门 Mybatis是一款持久层框架,简化了JDBC的操作。 持久层(DAO):完成持久化工作的代码块; 持久化:将程序的数据在持久状态和瞬时状态转化的过程 Mybatis+SpringBoot=只关注application.properties+mapper接口 配置:application.properties #配置数据库连接信息 -四要素 …
SQL-索引 index
索引是帮助数据库高效获取数据的数据结构(默认B+树)。 没有索引时 查找为顺序表遍历。 优点:提高效率,降低数据库IO开销。 缺点:索引会占用存储空间;虽然提升了查找效率,但是降低了增删改的效率。 结构: 默认为B+树,也有Hash索引、Full-Text索引等等。 操作: 创建索引:creat [unique] index 索引名 on 表名(字…
thumbnail
SQL-DML、DQL
1 DML 增删改 1.1 INSERT 指定字段添加数据:INSERT INTO 表名 (字段名1, 字段名2) VALUES (值1, 值2); 全部字段添加数据:INSERT INTO 表名 VALUES (值1, 值2, ...); 批量添加数据(指定字段):INSERT INTO 表名 (字段名1, 字段名2) VALUES (值1, 值…
Web入门-分层解耦
1 三层架构: 单一职责原则-> controller:控制层,接收前端发送的请求,对请求进行处理,并相应数据。 service:业务逻辑层,处理具体的业务逻辑。 dao:数据访问层(Data Access Object)(持久层),负责数据访问操作,增删改查 目的:复用性强、便于维护、利于拓展 面向接口的思想。 示例:以上篇EmpContr…
Web入门-Springboot初体验
这里教程直接教学Springboot而跳过了ssm,为了先着手开发所以决定后期再补一下springmvc的内容,先跟着教程走,到后面做“元集”时如果用到边做边学,(make it work first)。 本篇是一些零散的入门web知识: 1 Maven JavaWeb开发常用maven来进行管理。此处按照视频所说规定,之后的java都统一使用11…