亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

JDBC之“對岸的女孩走過來”

難度初級
時長 1小時13分
學習人數
綜合評分9.57
120人評價 查看評價
9.8 內容實用
9.5 簡潔易懂
9.4 邏輯清晰
  • @JDBC---替代品之myBatis

    MyBatis:支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。
    特點:
    ??? 1:易于上手和掌握。
    ??? 2:SQL卸載XML里,便于統一管理和優化。
    ??? 3:解除SQL與程序代碼的耦合。
    ??? 4:提供映射標簽,支持對象與數據庫的orm字段關系映射。
    ??? 5:提供對象關系映射標簽,支持對象關系組建維護。
    ??? 6:提供XML標簽,支持編寫動態SQL。

    查看全部
    1 采集 收起 來源:myBatis簡介

    2018-05-28

  • @JDBC---替代品之DBUtils

    核心接口:

    1.DbUtils:提供如關閉連接,裝載JDBC驅動程序等常規工作的工具類;
    2.QueryRunner:該類簡化了SQL查詢,它常與ResultSetHandler組合在一起使用
    3.ResultSetHandler:執行處理一個java.sql.ResultSet,將數據轉變并處理為任何一種形式,這樣有益于其應用而且使用起來更容易。 ?

    實例1:

    final?String?SQL?=?"INSERT?INTO?test_1?VALUES(?,?)";
    int?result?=?new?QuertRunner().update(conn,SQL,new?Object[]{"John","123"});

    實例2:

    final?String?SQL?=?"SELECT?*?FROM?test_1";
    Test_1Bean?testBean?=?new?QuertRunner().quert(conn,SQL,new?HeanHandler(Test_lBean.class));


    查看全部
  • @JDBC---連接池dbcp與c3p0總結

    jar包、配置文件、獲取連接。

    dbcp是Spring推薦,c3p0是Hibernate推薦。

    查看全部
    0 采集 收起 來源:小結

    2018-05-28

  • @JDBC---數據庫連接池之C3P0
    1.導入相關C3P0的jar包

    ????c3p0-0.9.2-pre4.jar
    ????mchange-commons-java-0.2.2.jar
    2.在項目根目錄下添加配置文件c3p0.properties

    c3p0.driverClassName="com.mysql.jdnc.Driver"
    c3p0.url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8"
    c3p0.username="root"
    c3p0.password="root"

    3.編寫類文件,創建連接池

    public?class?C3P0Util{
    ?????private?static?ComboPooledDataSource?ds?=?new?ComboPooledDataSource();
    ?????public?static?Connection?getConnection(){
    ?????????try{
    ?????????????return?ds.getConnection();
    ?????????}catch(SQLException?e){
    ?????????????throw?new?RuntimeException(e);
    ?????????}
    ?????}
    }
    查看全部
  • @JDBC---數據庫連接池之dbcp

    1.導入相關dbcp的jar包
    ????commons-dpcp2-2.1.1.jar
    ????commons-pool2-2.4.2.jar
    ????commons-logging-1.2.jar

    2.在項目根目錄下添加配置文件dbcp.properties
    ????主要配置信息

    driverClassName="com.mysql.jdnc.Driver"
    url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8"
    username="root"
    password="root"

    3.實現dbcp連接池

    public?class?DBCPUtil{
    ?????//數據源,static
    ?????private?static?DataSource?DS;?
    ?????//配置文件位置?
    ?????private?static?final?String?configFile?=?"/dbcp.properties";?
    ?????//默認構造函數?
    ?????public?DBCPUtil(){??
    ?????????initDbcp();?
    ?????}?
    ?????//初始化DS?
    ?????private?static?void?initDbcp(){??
    ?????????Properties?pops?=?new?Properties();??
    ?????????try{???
    ?????????????//以流形式讀取配置文件???
    ?????????????props.load(Object.class.getResourceAsStream(configFile));
    ?????????????//創建數據源?
    ?????????????DS?=?BasicDataSourceFactory.createDataSource(pops);?
    ?????????}catch(Exception?e){???
    ?????????????e.printStackTrace();??
    ?????????}?
    ?????}?
    ?
    ?????//連接數據庫????
    ?????public?Connection?getConn(){?????
    ?????????Connection?con=null;?????
    ?????????if(DS!=null){??????
    ??????????????try{???????
    ??????????????????//獲取連接?????
    ??????????????????con=DS.getConnection();
    ??????????????}catch(Exception?e){???????
    ??????????????????e.printStackTrace(System.err);??????
    ??????????????}??????
    ??????????????try{???????
    ??????????????????//設置成手動提交事務
    ??????????????????con.setAutoCommit(false);?????
    ??????????????}catch(SQLException?e){??????
    ??????????????????e.printStackTrace(System.err);???
    ??????????????}?????
    ?????????}?????
    ?????????return?con;???
    ?????}
    }


    查看全部
  • @JDBC---實現事務管理

    事務特點:

    ????1.原子性:事務是一個完整的操作。
    ????2.一致性:當事務完成時,數據必須處于一致的狀態。
    ????3.隔離性:對數據進行修改的所有并發事務必須是隔離的?!?strong>不可以同時操作一條數據】
    ????4.永久性:事務完成后嗎,數據庫的修改必須是永久保持的。

    事務管理:

    ????1.我們通過提交commit()或是回退rollback()來管理事務的操作。
    ????2.事務操作默認是自動提交。
    ????3.可以通過setAutoCommit(false)來禁止自動提交。

    調用過程:

    ????1.conn.setAutoCommit(false);//jdbc默認自動提交;
    ????2.try...catch語句包含執行業務邏輯,完成后conn.commit();
    ????3.在catch中,加上回滾語句:conn.rollback();

    查看全部
  • @JDBC---帶輸出參數的存儲過程

    存儲過程的代碼:

    CREATE?PROCEDURE?`sp_select_count`(OUT?count?INT(10))
    BEGIN
    ??SELECT?COUNT(*)?INTO?count?FROM?user1;?
    END

    調用過程:

    //1.獲取連接
    Connection?c?=?DBHelper.getConnection();
    
    //2.獲得CallableStatement
    CallableStatement?cs?=?c.PrepareCall("call?sp_select_count(?)");
    cs.registerOutParameter(1,Types.INTEGER);
    
    //3.執行存儲過程
    cs.execute();
    //4.處理結果集
    cs.getInt(1);
    查看全部
  • @JDBC---帶輸入參數的存儲過程

    存儲過程的代碼:

    CREATE?PROCEDURE?`sp_select_nofilter`(IN?sp_name?VARCHAR(20))
    BEGIN
    ??IF?sp_name?IS?NULL?OR?sp_name?=?''?THEN
    ??SELECT?*?FROM?user1;
    ?ELSE
    ??IF?LENGTH(sp_name)=11?AND?SUBSTRING(sp_name,1,1)=1?THEN
    ???SELECT?*?FROM?user1?WHERE?user_naem=sp_name;
    ??ELSE
    ???SELECT?*FROM?user1?WHERE?user_name?LIKE?CONCAT('%',sp_name,'%');
    ??END?IF;
    ?END?IF;
    END

    調用過程:

    //1.獲取連接
    Connection?c?=?DBHelper.getConnection();
    
    //2.獲得CallableStatement
    CallableStatement?cs?=?c.PrepareCall("call?sp_select_filter(?)");
    cs.setString(1,sp_name);
    
    //3.執行存儲過程
    cs.execute();
    //4.處理結果集
    ResultSet?rs?=?cs.getResultSet();
    //5.遍歷結果集
    while(rs.next()){
    ????rs.getString(...);
    ????...
    }
    查看全部
  • @JDBC---調用無參存儲過程

    存儲過程的代碼:

    CREATE?PROCEDURE?db_name.sp_name()
    BEGIN
    ?select?*?FROM?table_name;
    END;

    調用過程:

    //1.獲取連接
    Connection?c?=?DBHelper.getConnection();
    
    //2.獲得CallableStatement
    CallableStatement?cs?=?c.PrepareCall("call?sp_select()");
    
    //3.執行存儲過程
    cs.execute();
    //4.處理結果集
    ResultSet?rs?=?cs.getResultSet();
    //5.遍歷結果集
    while(rs.next()){
    ????rs.getString(...);
    ????...
    }
    查看全部
  • dbcp c3p0

    查看全部
    0 采集 收起 來源:小結

    2018-05-02

  • String a = null;的意思是讓代碼出錯,導致數據寫入不完整。如果沒有進行事務處理,則會導致數據丟失或異常,如果進行了事務處理,則會對執行的操作進行回滾(還原撤銷讀寫操作)。
    事務處理的步驟:
    一、關閉自動提交:conn.setAutoCommit(false);
    二、手動提交事務:conn.commit();
    三、進行事務回滾:conn.rollback;//放置在try-catch語句中

    查看全部
  • JDBC對事物管理的支持


    查看全部
  • 事物的特點!

    查看全部
  • 學習記錄:dbcp和c3p0的區別

    查看全部
    0 采集 收起 來源:小結

    2018-04-18

  • dpcp 相關jar 包

    commons-dpcp2-2.1.1.jar

    commons-pool2-2.4.2.jar

    commons-logging



    查看全部

舉報

0/150
提交
取消
課程須知
本課程是JDBC的進階課程,如果小伙伴們對數據庫知識以及JDBC簡單操作不太熟悉,建議先去《JDBC之“對岸的女孩看過來”》以及《與MySQL的零距離接觸》修煉修煉?。?/dd>
老師告訴你能學到什么?
1、JDBC調用存儲過程,事務管理 2、JDBC的高級應用

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!