<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      川哥哥

      導(dǎo)航

      初識(shí)Hibernate框架,進(jìn)行簡(jiǎn)單的增刪改查操作

      Hibernate的優(yōu)勢(shì)

      優(yōu)秀的Java 持久化層解決方案  (DAO

      主流的對(duì)象—關(guān)系映射工具產(chǎn)品

       簡(jiǎn)化了JDBC 繁瑣的編碼

       將數(shù)據(jù)庫(kù)的連接信息都存放在配置文件

       自己的ORM框架

       一定要手動(dòng)實(shí)現(xiàn)Hibernate(模擬Hibernate實(shí)現(xiàn))

       

      2:創(chuàng)建一個(gè)大配置文件

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
      
      <hibernate-configuration>
      
          <session-factory>
      
              <!-- Database connection settings 數(shù)據(jù)庫(kù)連接設(shè)置-->
              <!-- 驅(qū)動(dòng)類 -->
              <property name="connection.driver_class">oracle.jdbc.OracleDriver</property><!-- 數(shù)據(jù)庫(kù)驅(qū)動(dòng)語(yǔ)言 -->
              <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property><!-- 數(shù)據(jù)庫(kù)連接字符串 -->
              <property name="connection.username">cgg</property><!-- 用戶名 -->
              <property name="connection.password">1</property><!-- 密碼 -->
              <!-- SQL dialect (sql的方言)-->
              <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property><!-- 通過oracle數(shù)據(jù)庫(kù)的版本規(guī)定sql方言 -->
              <!-- Echo all executed SQL to stdout 在控制臺(tái)打印后臺(tái)的sql語(yǔ)句-->
              <property name="show_sql">true</property><!-- 可省,展示生成的sql語(yǔ)句 -->
              <!-- 格式化顯示sql -->
              <property name="format_sql">true</property><!-- 可省,將展示出的sql語(yǔ)句格式化-->
              <!-- Drop and re-create the database schema on startup 序列化-->
              <property name="hbm2ddl.auto">update</property><!-- 數(shù)據(jù)庫(kù)的建表語(yǔ)句首選create,之后選擇update -->
           <!--線程綁定-->
           <property name="hibernate.current_session_context_class">thread</property>
          <mapping resource="cn/happy/entity/Student.hbm.xml" /><!-- 關(guān)聯(lián)小配置文件 --> 
        </session-factory>

      </hibernate-configuration>

      創(chuàng)建一個(gè)小配置文件

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE hibernate-mapping PUBLIC
              "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
              "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
      
      <hibernate-mapping package="cn.happy.entity"><!-- 關(guān)聯(lián)哪個(gè)包下的類 -->
          <class name="Student" table="STUDENT"><!-- 符合一類對(duì)應(yīng)一表 -->
              <id name="sid" column="SID"><!-- 生成主鍵(唯一標(biāo)識(shí)) -->
                  <!-- 主鍵生成策略:native: native:如果后臺(tái)是Oracle 后臺(tái)是MySQL,自動(dòng)應(yīng)用自增 -->
                  <generator class="increment" />
              </id>
              <property name="sname" type="string" column="NAME" />
              <property name="sage"  type="int" column="AGE"/>
          </class>
      </hibernate-mapping>

      測(cè)試數(shù)據(jù)

      public class myTest {
          Configuration cfg;
          Session session;
          Transaction tran;
          @Before
          public void myBefore(){
              //讀取并解析配置文件
              cfg=new Configuration().configure("hibernate.cfg.xml");
              //讀取并解析映射信息,創(chuàng)建SessionFactory對(duì)象
              SessionFactory factory = cfg.buildSessionFactory();
              //打開session
              //使用的getCurrentSession()方法,會(huì)自動(dòng)關(guān)閉session
              session = factory.getCurrentSession();
              //開始一個(gè)事務(wù)(增刪改操作必須,查詢操作可選)
              tran=session.beginTransaction();
          }
          @After
          public void myAfter(){
              //結(jié)束事務(wù)
              tran.commit();;
          }
          //添加
          @Test
          public void addTest(){
              Student stu=new Student();
              stu.setSage(18);
              stu.setSname("安哲安哲");
              session.save(stu);
          }
          @Test
          public void findTest(){
              Student stu = session.load(Student.class, 11);
              System.out.print(stu.getSname());
          }
          @Test
          public void upTest(){
              Student stu = session.load(Student.class, 11);
              stu.setSname("安哲大傻逼");
          }
          @Test
          public void delTest(){
              Student stu = session.load(Student.class, 12);
              session.delete(stu);
          }

      通過以上代碼,我們就能輕松的使用框架向db端操作數(shù)據(jù)了

      posted on 2017-01-10 14:28  川哥哥  閱讀(150)  評(píng)論(0)    收藏  舉報(bào)

      主站蜘蛛池模板: 国厂精品114福利电影免费| 久久精品国产男包| 精品九九人人做人人爱| 蜜桃臀av在线一区二区| 精品久久久久久中文字幕202| 少妇熟女久久综合网色欲| 国产亚洲精品久久久久5区| 男女猛烈激情xx00免费视频| 国产精品夫妇激情啪发布| 国产成人a在线观看视频| 69天堂人成无码免费视频| 8av国产精品爽爽ⅴa在线观看 | 亚洲成色精品一二三区| 国产欧美亚洲精品第1页| 亚洲综合黄色的在线观看| 国产高跟黑色丝袜在线| 亚洲高潮喷水无码AV电影| 日本偷拍自影像视频久久| 国产精品色呦呦在线观看| 成人网站免费看黄a站视频| 日本激情久久精品人妻热| 国产粉嫩学生高清专区麻豆| 丰满妇女强制高潮18xxxx| 国产SM重味一区二区三区| 亚洲第一国产综合| 日本美女性亚洲精品黄色| 成人一区二区三区激情视频| 大陆一级毛片免费播放| 亚洲午夜香蕉久久精品| 国产精品黄色大片在线看| 国产亚洲欧美日韩在线一区二区三| 欧产日产国产精品精品| 狠狠色噜噜狠狠亚洲AV| 日本一本无道码日韩精品| 性欧美videofree高清精品| 国产亚洲av夜间福利香蕉149| 欧美一区二区三区成人久久片| 久久国产精品亚洲精品99| 亚洲人成电影网站色mp4| 亚洲中文字幕精品一区二区三区| 三上悠亚久久精品|