<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ~~~ package cn.b_api; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Test; import domain.Customer; //學習Session對象 //session對象功能: 表達hibernate框架與數據庫之間的連接(會話).session類似于 // JDBC年代的connection對象. 還可以完成對數據庫中數據的增刪改查操作. // session是hibernate操作數據庫的核心對象 public class Demo3 { @Test //事務操作 public void fun1(){ //1 創建,調用空參構造 Configuration conf = new Configuration().configure(); //2 根據配置信息,創建 SessionFactory對象 SessionFactory sf = conf.buildSessionFactory(); //3 獲得session Session session = sf.openSession(); //4 session獲得操作事務的Transaction對象 //獲得操作事務的tx對象 //Transaction tx = session.getTransaction(); //開啟事務并獲得操作事務的tx對象(建議使用) Transaction tx2 = session.beginTransaction(); //---------------------------------------------- //---------------------------------------------- tx2.commit();//提交事務 tx2.rollback();//回滾事務 session.close();//釋放資源 sf.close();//釋放資源 } @Test //session的新增 public void fun2(){ //1 創建,調用空參構造 Configuration conf = new Configuration().configure(); //2 根據配置信息,創建 SessionFactory對象 SessionFactory sf = conf.buildSessionFactory(); //3 獲得session Session session = sf.openSession(); //4 session獲得操作事務的Transaction對象 //獲得操作事務的tx對象 //Transaction tx = session.getTransaction(); //開啟事務并獲得操作事務的tx對象(建議使用) Transaction tx2 = session.beginTransaction(); //---------------------------------------------- Customer c = new Customer(); c.setCust_name("jdxia"); session.save(c); //---------------------------------------------- tx2.commit();//提交事務 session.close();//釋放資源 sf.close();//釋放資源 } @Test //session的查詢 //查詢id為1的customer對象 public void fun3(){ //1 創建,調用空參構造 Configuration conf = new Configuration().configure(); //2 根據配置信息,創建 SessionFactory對象 SessionFactory sf = conf.buildSessionFactory(); //3 獲得session Session session = sf.openSession(); //4 session獲得操作事務的Transaction對象 //獲得操作事務的tx對象 //Transaction tx = session.getTransaction(); //開啟事務并獲得操作事務的tx對象(建議使用) Transaction tx2 = session.beginTransaction(); //---------------------------------------------- Customer customer = session.get(Customer.class, 1l); System.out.println(customer); //---------------------------------------------- tx2.commit();//提交事務 session.close();//釋放資源 sf.close();//釋放資源 } @Test //session的修改 //修改id為1的customer對象的name屬性為黑馬程序員 public void fun4(){ //1 創建,調用空參構造 Configuration conf = new Configuration().configure(); //2 根據配置信息,創建 SessionFactory對象 SessionFactory sf = conf.buildSessionFactory(); //3 獲得session Session session = sf.openSession(); //4 session獲得操作事務的Transaction對象 //獲得操作事務的tx對象 //Transaction tx = session.getTransaction(); //開啟事務并獲得操作事務的tx對象(建議使用) Transaction tx2 = session.beginTransaction(); //---------------------------------------------- //1 獲得要修改的對象 Customer c = session.get(Customer.class, 1l); //2 修改 c.setCust_name("jdxia"); //3 執行update session.update(c); //---------------------------------------------- tx2.commit();//提交事務 session.close();//釋放資源 sf.close();//釋放資源 } @Test //session的刪除 //刪除id為1的customer對象 public void fun5(){ //1 創建,調用空參構造 Configuration conf = new Configuration().configure(); //2 根據配置信息,創建 SessionFactory對象 SessionFactory sf = conf.buildSessionFactory(); //3 獲得session Session session = sf.openSession(); //4 session獲得操作事務的Transaction對象 //獲得操作事務的tx對象 Transaction tx = session.getTransaction(); tx.begin(); //開啟事務并獲得操作事務的tx對象(建議使用) Transaction tx2 = session.beginTransaction(); //---------------------------------------------- //1 獲得要修改的對象 Customer c = session.get(Customer.class, 1l); //2 調用delete刪除對象 session.delete(c); //---------------------------------------------- tx2.commit();//提交事務 session.close();//釋放資源 sf.close();//釋放資源 } } ~~~ **session常用方法** ~~~ save 保存對象 update 修改操作 delete刪除 get/load 根據id進行查詢 savenOrUpdate 執行save或update操作 createQuery()獲取一個Query對象 CreateSQLQUery()獲取一個可以操作sql的SQLQuery對象 createCriteria() 獲取一個Criteria它可以完成條件查詢 ~~~ **Transaction** Transaction接口主要用于管理事務,它是hibernate的事務接口,對底層的事務進行了封裝。使用它可以進行事務操作。 commit 事務提交 rollback 事務回滾 問題:如果獲取一個Transaction對象 Session.beginTransaction(); 問題:如果在程序中沒有開啟事務,是否存在事務? 有事務,session的每一個操作就會開啟一個事務。 ![](https://box.kancloud.cn/5b3062918e5cd547b12014767a7f03f8_649x225.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看