MVC思想:
servlet-->缺点:生成html内容太麻烦 jsp--->缺点:阅读起来不方便,维护比较困难 jsp+javabean: jsp的model1: jsp:接受请求,展示数据 javabean:和数据打交道(类似User类) jsp+javabean+servlet jsp的model2: jsp:展示数据 javabean:和数据打交道 servlet:接受请求,处理业务逻辑 就是MVC思想的体现
MVC:
就是将业务逻辑,代码,显示相分离的一种思想 M:model 模型 作用:主要是封装数据,封装对数据的访问 V:view 视图 作用:主要是用来展示数据 一般是jsp担任的 C:ctrl 控制 作用:接受请求,找到相应的javabean完成业务逻辑
JAVA的三层架构(分层):
web 作用: 展示数据 ----jsp -----servlet------- 接受请求 找到对应的service,调用方法 完成逻辑操作 信息生成或者页面跳转 service 业务层 作用: 完成业务操作 调用dao dao(data access object 数据访问对象) 作用: 对数据库的curd操作事务:
就是一件完整的事情,包含多个操作单元,这些操作要么全部成功,要么全部失败. 例如:转账 包含转出操作和转入操作. mysql中的事务: mysql中事务默认是自动提交,一条sql语句就是一个事务. 开启手动事务方式 方式1:关闭自动事务.(了解) set autocommit = off; 方式2:手动开启一个事务.(理解) start transaction;-- 开启一个事务 commit;-- 事务提交 rollback;-- 事务回滚 扩展: oracle中事务默认是手动的,必须手动提交才可以. 例如:创建数据库和表 create database day13; use day13; create table account( name varchar(20), money int ); insert into account values('aa','1000'); insert into account values('bb','1000'); 完成 aa给bb转500; update account set money = money - 500 where name='aa'; update account set money = money + 500 where name='bb';java中的事务:
Connection接口的api:★ setAutoCommit(false);//手动开启事务 commit():事务提交 rollback():事务回滚 扩展:了解 Savepoint还原点 void rollback(Savepoint savepoint) :还原到那个还原点 Savepoint setSavepoint() :设置还原点