Hibernate的初探



先随便新键一个项目生成一个默认的配置文件



主要的架包支持




pom.xml

[html]  view plain  copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  2.   <modelVersion>4.0.0</modelVersion>  
  3.   <groupId>HibernateLesson</groupId>  
  4.   <artifactId>HibernateLesson</artifactId>  
  5.   <version>0.0.1-SNAPSHOT</version>  
  6.   <packaging>war</packaging>  
  7.   <name/>  
  8.   <description/>  
  9.   <dependencies>  
  10.     <dependency>  
  11.       <groupId>org.apache.openejb</groupId>  
  12.       <artifactId>javaee-api</artifactId>  
  13.       <version>5.0-1</version>  
  14.       <scope>provided</scope>  
  15.     </dependency>  
  16.     <dependency>  
  17.       <groupId>javax.faces</groupId>  
  18.       <artifactId>jsf-api</artifactId>  
  19.       <version>1.2_04</version>  
  20.       <scope>provided</scope>  
  21.     </dependency>  
  22.     <dependency>  
  23.       <groupId>javax.servlet</groupId>  
  24.       <artifactId>jstl</artifactId>  
  25.       <version>1.2</version>  
  26.       <scope>provided</scope>  
  27.     </dependency>  
  28.     <dependency>  
  29.       <groupId>javax.servlet.jsp</groupId>  
  30.       <artifactId>jsp-api</artifactId>  
  31.       <version>2.1</version>  
  32.       <scope>provided</scope>  
  33.     </dependency>  
  34.     <dependency>  
  35.       <groupId>javax.faces</groupId>  
  36.       <artifactId>jsf-impl</artifactId>  
  37.       <version>1.2_04</version>  
  38.       <scope>provided</scope>  
  39.     </dependency>  
  40.       
  41.     <dependency>  
  42.       <groupId>org.hibernate</groupId>  
  43.       <artifactId>hibernate-core</artifactId>  
  44.       <version>4.1.9.Final</version>  
  45.     </dependency>  
  46.           
  47.     <!--   
  48.     加载本地ojdbc6.jar  
  49.     前面三个可以乱填,最好是配上,不然可能会报错  
  50.     scope   系统  
  51.     scope   路径  
  52.      -->  
  53.     <dependency>  
  54.       <groupId>oracle</groupId>  
  55.       <artifactId>orcale</artifactId>  
  56.       <version>3.2.8</version>  
  57.         <scope>system</scope>  
  58.         <systemPath>C:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar</systemPath>  
  59.     </dependency>    
  60.        
  61.   </dependencies>  
  62.   <build>  
  63.     <sourceDirectory>${basedir}/src</sourceDirectory>  
  64.     <outputDirectory>${basedir}/WebRoot/WEB-INF/classes</outputDirectory>  
  65.     <resources>  
  66.       <resource>  
  67.         <directory>${basedir}/src</directory>  
  68.         <excludes>  
  69.           <exclude>**/*.java</exclude>  
  70.         </excludes>  
  71.       </resource>  
  72.     </resources>  
  73.     <plugins>  
  74.       <plugin>  
  75.         <artifactId>maven-war-plugin</artifactId>  
  76.         <configuration>  
  77.           <webappDirectory>${basedir}/WebRoot</webappDirectory>  
  78.           <warSourceDirectory>${basedir}/WebRoot</warSourceDirectory>  
  79.         </configuration>  
  80.       </plugin>  
  81.       <plugin>  
  82.         <artifactId>maven-compiler-plugin</artifactId>  
  83.         <configuration>  
  84.           <source>1.5</source>  
  85.           <target>1.5</target>  
  86.         </configuration>  
  87.       </plugin>  
  88.     </plugins>  
  89.   </build>  
  90. </project>  


hibernate.cfg.xml

[html]  view plain  copy
  1. <?xml version='1.0' encoding='UTF-8'?>  
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3.           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4.           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  5.   
  6. <!-- Generated by MyEclipse Hibernate Tools. -->  
  7. <hibernate-configuration>  
  8.   
  9.     <session-factory>  
  10.         <!-- 告诉hibernate使用的是orcle数据库 -->  
  11.         <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>  
  12.         <!-- 配置session Factory四要素 -->  
  13.         <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>  
  14.         <property name="connection.username">scott</property>  
  15.         <property name="connection.password">tiger</property>  
  16.         <property name="connection.driver_class">oracle.jdbc.OracleDriver</property>  
  17.          
  18.         <!-- 打印日志 -->  
  19.         <property name="show_sql">true</property>  
  20.         <!-- 扫描映射文件 -->  
  21.         <mapping resource="cn/et/hibernate/lesson01/Emp.hbm.xml"/>  
  22.     </session-factory>  
  23.   
  24. </hibernate-configuration>  



把项目增加HIbernate支持



选择刚刚配置好的hibernate.cfg.xml





生动生成实体类和Mapper映射文件






Emp实体类,要改一下

[java]  view plain  copy
  1. package cn.et.hibernate.lesson01;  
  2.   
  3. import java.util.Date;  
  4.   
  5. /** 
  6.  * Emp entity. @author MyEclipse Persistence Tools 
  7.  */  
  8.   
  9. public class Emp implements java.io.Serializable {  
  10.   
  11.     // Fields  
  12.   
  13.     /** 
  14.      * oid对象唯一标识符 
  15.      */  
  16.     private Short empno;  
  17.     private String ename;  
  18.     private String job;  
  19.     private Short mgr;  
  20.     private Date hiredate;  
  21.     private Double sal;  
  22.     private Double comm;  
  23.     private String sex;  
  24.     public Short getEmpno() {  
  25.         return empno;  
  26.     }  
  27.     public void setEmpno(Short empno) {  
  28.         this.empno = empno;  
  29.     }  
  30.     public String getEname() {  
  31.         return ename;  
  32.     }  
  33.     public void setEname(String ename) {  
  34.         this.ename = ename;  
  35.     }  
  36.     public String getJob() {  
  37.         return job;  
  38.     }  
  39.     public void setJob(String job) {  
  40.         this.job = job;  
  41.     }  
  42.     public Short getMgr() {  
  43.         return mgr;  
  44.     }  
  45.     public void setMgr(Short mgr) {  
  46.         this.mgr = mgr;  
  47.     }  
  48.     public Date getHiredate() {  
  49.         return hiredate;  
  50.     }  
  51.     public void setHiredate(Date hiredate) {  
  52.         this.hiredate = hiredate;  
  53.     }  
  54.     public Double getSal() {  
  55.         return sal;  
  56.     }  
  57.     public void setSal(Double sal) {  
  58.         this.sal = sal;  
  59.     }  
  60.     public Double getComm() {  
  61.         return comm;  
  62.     }  
  63.     public void setComm(Double comm) {  
  64.         this.comm = comm;  
  65.     }  
  66.     public String getSex() {  
  67.         return sex;  
  68.     }  
  69.     public void setSex(String sex) {  
  70.         this.sex = sex;  
  71.     }  
  72.     @Override  
  73.     public String toString() {  
  74.         return "Emp [comm=" + comm + ", empno=" + empno + ", ename=" + ename  
  75.                 + ", hiredate=" + hiredate + ", job=" + job + ", mgr=" + mgr  
  76.                 + ", sal=" + sal + ", sex=" + sex + "]";  
  77.     }  
  78.       
  79. }  



Emp.hbm.xml

要改的

[html]  view plain  copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  4. <!--  
  5.     Mapping file autogenerated by MyEclipse Persistence Tools 
  6. -->  
  7. <hibernate-mapping>  
  8.   
  9.     <!--   
  10.         ORM映射  类和表的映射  
  11.         class  name属性  table表名  
  12.      -->  
  13.     <class name="cn.et.hibernate.lesson01.Emp" table="EMP" schema="SCOTT">  
  14.         <!-- id标签告诉hibernate  Emp类中empno是oid映射到EMP的主键EMPNO  
  15.         precision长度 scale小数  
  16.          -->  
  17.         <id name="empno" type="java.lang.Short">  
  18.             <column name="EMPNO" precision="4" scale="0" />  
  19.             <!--   
  20.                 native(本地策略  根据数据库的不同采用不同的策略)  
  21.                     oracle调用数据库的hibernate_sequence.nextal  
  22.                     mysql调用表的自动增长  
  23.                 assigned(由开发者自己来传递主键的值,不会自动生成)  
  24.                 guid调用数据库生成32位guid  
  25.              -->  
  26.             <generator class="assigned" />  
  27.         </id>  
  28.         <property name="ename" type="java.lang.String">  
  29.             <column name="ENAME">  
  30.                 <comment>员工姓名</comment>  
  31.             </column>  
  32.         </property>  
  33.         <property name="job" type="java.lang.String">  
  34.             <column name="JOB">  
  35.                 <comment>职位</comment>  
  36.             </column>  
  37.         </property>  
  38.         <property name="mgr" type="java.lang.Short">  
  39.             <column name="MGR" >  
  40.                 <comment>领导编号</comment>  
  41.             </column>  
  42.         </property>  
  43.         <property name="hiredate" type="java.util.Date">  
  44.             <column name="HIREDATE">  
  45.                 <comment>雇佣日期</comment>  
  46.             </column>  
  47.         </property>  
  48.         <property name="sal" type="java.lang.Double">  
  49.             <column name="SAL">  
  50.                 <comment>月薪</comment>  
  51.             </column>  
  52.         </property>  
  53.         <property name="comm" type="java.lang.Double">  
  54.             <column name="COMM">  
  55.                 <comment>奖金</comment>  
  56.             </column>  
  57.         </property>  
  58.         <property name="sex" type="java.lang.String">  
  59.             <column name="SEX"/>  
  60.         </property>  
  61.     </class>  
  62. </hibernate-mapping>  


测试类

[java]  view plain  copy
  1. package cn.et.hibernate.lesson01;  
  2.   
  3. import org.hibernate.Session;  
  4. import org.hibernate.SessionFactory;  
  5. import org.hibernate.Transaction;  
  6. import org.hibernate.cfg.Configuration;  
  7. import org.junit.Test;  
  8.   
  9. public class TestHibernate {  
  10.   
  11.     /** 
  12.      * 新增 
  13.      */  
  14.     @Test  
  15.     public void testInsert(){  
  16.         SessionFactory sf = new Configuration().configure("/cn/et/hibernate/lesson01/hibernate.cfg.xml").buildSessionFactory();  
  17.         Session session = sf.openSession();  
  18.         Transaction t = session.beginTransaction();  
  19.         Emp emp  = new Emp();  
  20.         emp.setEmpno(Short.parseShort("8643"));  
  21.         emp.setEname("胖污龟");  
  22.         session.save(emp);  
  23.         t.commit();  
  24.     }  
  25.       
  26.     /** 
  27.      * 删除 
  28.      */  
  29.     @Test  
  30.     public void testDelete(){  
  31.         SessionFactory sf = new Configuration().configure("/cn/et/hibernate/lesson01/hibernate.cfg.xml").buildSessionFactory();  
  32.         Session session = sf.openSession();  
  33.         Transaction t = session.beginTransaction();  
  34.         Emp emp  = new Emp();  
  35.         emp.setEmpno(Short.parseShort("8643"));  
  36.         session.delete(emp);  
  37.         t.commit();  
  38.     }  
  39.       
  40.     /** 
  41.      * 修改 
  42.      * 先获取到这个对象,再把要修改的属性set进行, 
  43.      * 再把这个对象设置回去,这样可以保存其它的数据不被丢失 
  44.      */  
  45.     @Test  
  46.     public void testUpdate(){  
  47.         SessionFactory sf = new Configuration().configure("/cn/et/hibernate/lesson01/hibernate.cfg.xml").buildSessionFactory();  
  48.         Session session = sf.openSession();  
  49.         Transaction t = session.beginTransaction();  
  50.           
  51.         Emp emp = (Emp) session.get(Emp.class,Short.parseShort("8000"));  
  52.         emp.setSal(Double.parseDouble("20000"));  
  53.         session.update(emp);  
  54.         t.commit();  
  55.     }  
  56.       
  57.       
  58.       
  59. }  

先随便新键一个项目生成一个默认的配置文件



主要的架包支持




pom.xml

[html]  view plain  copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  2.   <modelVersion>4.0.0</modelVersion>  
  3.   <groupId>HibernateLesson</groupId>  
  4.   <artifactId>HibernateLesson</artifactId>  
  5.   <version>0.0.1-SNAPSHOT</version>  
  6.   <packaging>war</packaging>  
  7.   <name/>  
  8.   <description/>  
  9.   <dependencies>  
  10.     <dependency>  
  11.       <groupId>org.apache.openejb</groupId>  
  12.       <artifactId>javaee-api</artifactId>  
  13.       <version>5.0-1</version>  
  14.       <scope>provided</scope>  
  15.     </dependency>  
  16.     <dependency>  
  17.       <groupId>javax.faces</groupId>  
  18.       <artifactId>jsf-api</artifactId>  
  19.       <version>1.2_04</version>  
  20.       <scope>provided</scope>  
  21.     </dependency>  
  22.     <dependency>  
  23.       <groupId>javax.servlet</groupId>  
  24.       <artifactId>jstl</artifactId>  
  25.       <version>1.2</version>  
  26.       <scope>provided</scope>  
  27.     </dependency>  
  28.     <dependency>  
  29.       <groupId>javax.servlet.jsp</groupId>  
  30.       <artifactId>jsp-api</artifactId>  
  31.       <version>2.1</version>  
  32.       <scope>provided</scope>  
  33.     </dependency>  
  34.     <dependency>  
  35.       <groupId>javax.faces</groupId>  
  36.       <artifactId>jsf-impl</artifactId>  
  37.       <version>1.2_04</version>  
  38.       <scope>provided</scope>  
  39.     </dependency>  
  40.       
  41.     <dependency>  
  42.       <groupId>org.hibernate</groupId>  
  43.       <artifactId>hibernate-core</artifactId>  
  44.       <version>4.1.9.Final</version>  
  45.     </dependency>  
  46.           
  47.     <!--   
  48.     加载本地ojdbc6.jar  
  49.     前面三个可以乱填,最好是配上,不然可能会报错  
  50.     scope   系统  
  51.     scope   路径  
  52.      -->  
  53.     <dependency>  
  54.       <groupId>oracle</groupId>  
  55.       <artifactId>orcale</artifactId>  
  56.       <version>3.2.8</version>  
  57.         <scope>system</scope>  
  58.         <systemPath>C:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar</systemPath>  
  59.     </dependency>    
  60.        
  61.   </dependencies>  
  62.   <build>  
  63.     <sourceDirectory>${basedir}/src</sourceDirectory>  
  64.     <outputDirectory>${basedir}/WebRoot/WEB-INF/classes</outputDirectory>  
  65.     <resources>  
  66.       <resource>  
  67.         <directory>${basedir}/src</directory>  
  68.         <excludes>  
  69.           <exclude>**/*.java</exclude>  
  70.         </excludes>  
  71.       </resource>  
  72.     </resources>  
  73.     <plugins>  
  74.       <plugin>  
  75.         <artifactId>maven-war-plugin</artifactId>  
  76.         <configuration>  
  77.           <webappDirectory>${basedir}/WebRoot</webappDirectory>  
  78.           <warSourceDirectory>${basedir}/WebRoot</warSourceDirectory>  
  79.         </configuration>  
  80.       </plugin>  
  81.       <plugin>  
  82.         <artifactId>maven-compiler-plugin</artifactId>  
  83.         <configuration>  
  84.           <source>1.5</source>  
  85.           <target>1.5</target>  
  86.         </configuration>  
  87.       </plugin>  
  88.     </plugins>  
  89.   </build>  
  90. </project>  


hibernate.cfg.xml

[html]  view plain  copy
  1. <?xml version='1.0' encoding='UTF-8'?>  
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3.           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4.           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  5.   
  6. <!-- Generated by MyEclipse Hibernate Tools. -->  
  7. <hibernate-configuration>  
  8.   
  9.     <session-factory>  
  10.         <!-- 告诉hibernate使用的是orcle数据库 -->  
  11.         <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>  
  12.         <!-- 配置session Factory四要素 -->  
  13.         <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>  
  14.         <property name="connection.username">scott</property>  
  15.         <property name="connection.password">tiger</property>  
  16.         <property name="connection.driver_class">oracle.jdbc.OracleDriver</property>  
  17.          
  18.         <!-- 打印日志 -->  
  19.         <property name="show_sql">true</property>  
  20.         <!-- 扫描映射文件 -->  
  21.         <mapping resource="cn/et/hibernate/lesson01/Emp.hbm.xml"/>  
  22.     </session-factory>  
  23.   
  24. </hibernate-configuration>  



把项目增加HIbernate支持



选择刚刚配置好的hibernate.cfg.xml





生动生成实体类和Mapper映射文件






Emp实体类,要改一下

[java]  view plain  copy
  1. package cn.et.hibernate.lesson01;  
  2.   
  3. import java.util.Date;  
  4.   
  5. /** 
  6.  * Emp entity. @author MyEclipse Persistence Tools 
  7.  */  
  8.   
  9. public class Emp implements java.io.Serializable {  
  10.   
  11.     // Fields  
  12.   
  13.     /** 
  14.      * oid对象唯一标识符 
  15.      */  
  16.     private Short empno;  
  17.     private String ename;  
  18.     private String job;  
  19.     private Short mgr;  
  20.     private Date hiredate;  
  21.     private Double sal;  
  22.     private Double comm;  
  23.     private String sex;  
  24.     public Short getEmpno() {  
  25.         return empno;  
  26.     }  
  27.     public void setEmpno(Short empno) {  
  28.         this.empno = empno;  
  29.     }  
  30.     public String getEname() {  
  31.         return ename;  
  32.     }  
  33.     public void setEname(String ename) {  
  34.         this.ename = ename;  
  35.     }  
  36.     public String getJob() {  
  37.         return job;  
  38.     }  
  39.     public void setJob(String job) {  
  40.         this.job = job;  
  41.     }  
  42.     public Short getMgr() {  
  43.         return mgr;  
  44.     }  
  45.     public void setMgr(Short mgr) {  
  46.         this.mgr = mgr;  
  47.     }  
  48.     public Date getHiredate() {  
  49.         return hiredate;  
  50.     }  
  51.     public void setHiredate(Date hiredate) {  
  52.         this.hiredate = hiredate;  
  53.     }  
  54.     public Double getSal() {  
  55.         return sal;  
  56.     }  
  57.     public void setSal(Double sal) {  
  58.         this.sal = sal;  
  59.     }  
  60.     public Double getComm() {  
  61.         return comm;  
  62.     }  
  63.     public void setComm(Double comm) {  
  64.         this.comm = comm;  
  65.     }  
  66.     public String getSex() {  
  67.         return sex;  
  68.     }  
  69.     public void setSex(String sex) {  
  70.         this.sex = sex;  
  71.     }  
  72.     @Override  
  73.     public String toString() {  
  74.         return "Emp [comm=" + comm + ", empno=" + empno + ", ename=" + ename  
  75.                 + ", hiredate=" + hiredate + ", job=" + job + ", mgr=" + mgr  
  76.                 + ", sal=" + sal + ", sex=" + sex + "]";  
  77.     }  
  78.       
  79. }  



Emp.hbm.xml

要改的

[html]  view plain  copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  4. <!--  
  5.     Mapping file autogenerated by MyEclipse Persistence Tools 
  6. -->  
  7. <hibernate-mapping>  
  8.   
  9.     <!--   
  10.         ORM映射  类和表的映射  
  11.         class  name属性  table表名  
  12.      -->  
  13.     <class name="cn.et.hibernate.lesson01.Emp" table="EMP" schema="SCOTT">  
  14.         <!-- id标签告诉hibernate  Emp类中empno是oid映射到EMP的主键EMPNO  
  15.         precision长度 scale小数  
  16.          -->  
  17.         <id name="empno" type="java.lang.Short">  
  18.             <column name="EMPNO" precision="4" scale="0" />  
  19.             <!--   
  20.                 native(本地策略  根据数据库的不同采用不同的策略)  
  21.                     oracle调用数据库的hibernate_sequence.nextal  
  22.                     mysql调用表的自动增长  
  23.                 assigned(由开发者自己来传递主键的值,不会自动生成)  
  24.                 guid调用数据库生成32位guid  
  25.              -->  
  26.             <generator class="assigned" />  
  27.         </id>  
  28.         <property name="ename" type="java.lang.String">  
  29.             <column name="ENAME">  
  30.                 <comment>员工姓名</comment>  
  31.             </column>  
  32.         </property>  
  33.         <property name="job" type="java.lang.String">  
  34.             <column name="JOB">  
  35.                 <comment>职位</comment>  
  36.             </column>  
  37.         </property>  
  38.         <property name="mgr" type="java.lang.Short">  
  39.             <column name="MGR" >  
  40.                 <comment>领导编号</comment>  
  41.             </column>  
  42.         </property>  
  43.         <property name="hiredate" type="java.util.Date">  
  44.             <column name="HIREDATE">  
  45.                 <comment>雇佣日期</comment>  
  46.             </column>  
  47.         </property>  
  48.         <property name="sal" type="java.lang.Double">  
  49.             <column name="SAL">  
  50.                 <comment>月薪</comment>  
  51.             </column>  
  52.         </property>  
  53.         <property name="comm" type="java.lang.Double">  
  54.             <column name="COMM">  
  55.                 <comment>奖金</comment>  
  56.             </column>  
  57.         </property>  
  58.         <property name="sex" type="java.lang.String">  
  59.             <column name="SEX"/>  
  60.         </property>  
  61.     </class>  
  62. </hibernate-mapping>  


测试类

[java]  view plain  copy
  1. package cn.et.hibernate.lesson01;  
  2.   
  3. import org.hibernate.Session;  
  4. import org.hibernate.SessionFactory;  
  5. import org.hibernate.Transaction;  
  6. import org.hibernate.cfg.Configuration;  
  7. import org.junit.Test;  
  8.   
  9. public class TestHibernate {  
  10.   
  11.     /** 
  12.      * 新增 
  13.      */  
  14.     @Test  
  15.     public void testInsert(){  
  16.         SessionFactory sf = new Configuration().configure("/cn/et/hibernate/lesson01/hibernate.cfg.xml").buildSessionFactory();  
  17.         Session session = sf.openSession();  
  18.         Transaction t = session.beginTransaction();  
  19.         Emp emp  = new Emp();  
  20.         emp.setEmpno(Short.parseShort("8643"));  
  21.         emp.setEname("胖污龟");  
  22.         session.save(emp);  
  23.         t.commit();  
  24.     }  
  25.       
  26.     /** 
  27.      * 删除 
  28.      */  
  29.     @Test  
  30.     public void testDelete(){  
  31.         SessionFactory sf = new Configuration().configure("/cn/et/hibernate/lesson01/hibernate.cfg.xml").buildSessionFactory();  
  32.         Session session = sf.openSession();  
  33.         Transaction t = session.beginTransaction();  
  34.         Emp emp  = new Emp();  
  35.         emp.setEmpno(Short.parseShort("8643"));  
  36.         session.delete(emp);  
  37.         t.commit();  
  38.     }  
  39.       
  40.     /** 
  41.      * 修改 
  42.      * 先获取到这个对象,再把要修改的属性set进行, 
  43.      * 再把这个对象设置回去,这样可以保存其它的数据不被丢失 
  44.      */  
  45.     @Test  
  46.     public void testUpdate(){  
  47.         SessionFactory sf = new Configuration().configure("/cn/et/hibernate/lesson01/hibernate.cfg.xml").buildSessionFactory();  
  48.         Session session = sf.openSession();  
  49.         Transaction t = session.beginTransaction();  
  50.           
  51.         Emp emp = (Emp) session.get(Emp.class,Short.parseShort("8000"));  
  52.         emp.setSal(Double.parseDouble("20000"));  
  53.         session.update(emp);  
  54.         t.commit();  
  55.     }  
  56.       
  57.       
  58.       
  59. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值