分層與事務

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() :設置還原點


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章