201607

来源:互联网 发布:福昕阅读器for mac 编辑:程序博客网 时间:2024/06/06 08:23

t

 

EMP.HBM.XML

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>     <!--配置实体类和表的关系 -->
 <class name="webtesting.Emp" table="emp">         <!--配置主键属性和字段的关系 -->
  <id name="id" type="integer" column="id">             <!--用来指明主键的生成方式 -->
   <generator class="sequence">                 <!--指定用于生成主键的sequence -->
    <param name="sequence">emp_seq</param>
   </generator>
  </id>                  <!--配置实体类中属性与表中字段的关系 -->
  <property name="name" type="string" column="name" />
  <property name="age" type="integer" column="age" />
  <property name="salary" type="double" column="salary" />
  <property name="birthday" type="date" column="birthday" />
  <property name="lastLoginTime" type="timestamp"
   column="last_login_time" />
  <property name="marry" type="yes_no"
   column="marry" /> 
 </class>
</hibernate-mapping>

 

HIBERNATE.CFG.XML

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
 <session-factory>

        <property name="connection.url">jdbc:sqlserver://127.0.0.1:1433;database=Hibernatedb</property>
        <property name="connection.username">sa</property>
        <property name="connection.password">infy@123</property>
        <property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.SQLServer2012Dialect</property>

        <!-- Enable Hibernate's automatic session context management -->
        <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache  -->
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>

        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">update</property>

  <property name="hibernate.search.default.directory_provider">filesystem</property>
  <property name="hibernate.search.default.indexBase">target/indexes</property>
   <mapping resource="webtesting/Emp.hbm.xml" />
  
 </session-factory>
</hibernate-configuration>

EMP.JAVA

public class Emp {
 private Integer id;
 private String name;
 private Integer age;
 private Double salary;
 private Boolean marry;
 private Date birthday;
 private Timestamp lastLoginTime;

 public Integer getId() {
  return id;
 }

 public void setId(Integer id) {
  this.id = id;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public Integer getAge() {
  return age;
 }

 public void setAge(Integer age) {
  this.age = age;
 }

 public Double getSalary() {
  return salary;
 }

 public void setSalary(Double salary) {
  this.salary = salary;
 }

 public Boolean getMarry() {
  return marry;
 }

 public void setMarry(Boolean marry) {
  this.marry = marry;
 }

 public Date getBirthday() {
  return birthday;
 }

 public void setBirthday(Date birthday) {
  this.birthday = birthday;
 }

 public Timestamp getLastLoginTime() {
  return lastLoginTime;
 }

 public void setLastLoginTime(Timestamp lastLoginTime) {
  this.lastLoginTime = lastLoginTime;
 }
}

TESTEMP.JAVA

public class TestEmp {
 /**       */
 @Test
 public void add() {
  Emp e = new Emp();
  e.setName("ggg");
  e.setAge(29);
  e.setMarry(true);
  e.setSalary(8000.00);
  e.setBirthday(Date.valueOf("1983-10-20"));
  e.setLastLoginTime(new Timestamp(System.currentTimeMillis()));
  Session session = HibernateUtil.getSession();
  Transaction ts = session.beginTransaction();
  try {
   session.save(e);
   ts.commit();
  } catch (HibernateException e1) {
   e1.printStackTrace();
   ts.rollback();
  } finally {
   session.close();
  }
 }

 /** * 根据ID查询emp */
 @Test
 public void findById() {
  Session session = HibernateUtil.getSession();
  Emp emp = (Emp) session.get(Emp.class,1);
  System.out.println(emp.getName());
  System.out.println(emp.getBirthday());
  System.out.println(emp.getLastLoginTime());
  session.close();
 }

 /** * 修改emp */
 @Test
 public void update() {
  Session session = HibernateUtil.getSession();
  Emp emp = (Emp) session.get(Emp.class, 42);
  Transaction ts = session.beginTransaction();
  try {
   emp.setName("ee");
   emp.setAge(20);
   session.update(emp);
   ts.commit();
  } catch (HibernateException e) {
   e.printStackTrace();
   ts.rollback();
  } finally {
   session.close();
  }
 }

 /** * 删除emp */
 @Test
 public void delete() {
  Session session = HibernateUtil.getSession();
  Emp emp = (Emp) session.get(Emp.class, 148);
  Transaction ts = session.beginTransaction();
  try {
   session.delete(emp);
   ts.commit();
  } catch (HibernateException e) {
   e.printStackTrace();
   ts.rollback();
  } finally {
   session.close();
  }
 }

 /** * 查询全部emp */
 @Test
 public void findAll() {
  String hql = "from Emp";
  Session session = HibernateUtil.getSession();
  Query query = session.createQuery(hql);
  List<Emp> emps = query.list();
  for (Emp e : emps) {
   System.out.println(e.getName());
  }
  session.close();
 }
}

 

 

0 0