2018-4-11日志记录(Hibernate温习)

今日工作:今日完成Hinernate的一些入门级别的练习,温习了之前学习过的知识点,

总结下开发步骤:

很经典的一个例子,我们来这写一个HelloWord入门例子。

1、我们来搭建hinernate的环境.

     首先新建一个JAVA项目,建立一个lib目录,用来放hibernate的库文件。

1)、添加所需要的jar包

2018-4-11日志记录(Hibernate温习)

2)、配置hibernate.cfg.xml文件


<session-factory>

  <!-- 数据库连接配置 -->
  <property name="connection.username">root</property>
  <property name="connection.password">root</property>
  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="connection.url">jdbc:mysql:///hibernate_1</property>

  <!-- 配置hibernate基本信息 -->
  <!-- sql方言-->
  <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

  <!-- 是否控制台打印信息 -->
  <property name="show_sql">true</property>
  <!-- 显示格式化 -->
  <property name="format_sql">true</property>
  <!-- 自动生成数据表的策略 -->
  <property name="hbm2ddl.auto">update</property>

  <!-- 指定关联的.hbm.xml文件 -->
  <mapping resource="com/tianliangge/hibernate/User.hbm.xml"/>

  </session-factory>


2.创建一个实体类,并且写好里面的get.set方法,然后写上两个构造函数,一个带参和无参的,在实体类的包路径下面创建对象映射文件---hbm.xml
里面包含的是实体类和数据表的映射关系。

<hibernate-mapping>
  <class name="com.tianliangge.hibernate.User" table="USER">
  <id name="id" type="int">
  <column name="ID" />
  <!-- 生成id的方式,native是按照数据库的方式生成id -->
  <generator class="native" />
  </id>
  <property name="name" type="java.lang.String">
  <column name="NAME" />
  </property>
  <property name="date" type="java.sql.Date">
  <column name="DATE" />
  </property>
  </class>
</hibernate-mapping>


3、在hibernate.cfg.xml文件中关联.hbm.xml文件


<mapping resource="com/tianliangge/hibernate/User.hbm.xml" />


4、建立测试类测试。
 
//1.建立一个Session对象
  SessionFactory sessionFactory = null;
  //1).建立一个Configuration对象,对应hibernate的基本配置和对象映射文件
  Configuration configuration = new Configuration().configure();
  //4.0 之前这样创建
// sessionFactory = configuration.buildSessionFactory();

  //2). 创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象
  //hibernate 的任何配置和服务都需要在该对象中注册后才能有效.
  ServiceRegistry serviceRegistry =

  new ServiceRegistryBuilder().applySettings(configuration.getProperties())
  .buildServiceRegistry();

  //3).
  sessionFactory = configuration.buildSessionFactory(serviceRegistry);

  //2. 创建一个 Session 对象
  Session session = sessionFactory.openSession();

  //3. 开启事务
  Transaction transaction = session.beginTransaction();

// //4. 执行保存操作
// User news = new User("c++",new Date(new java.util.Date().getTime()));
// session.save(news);
//
// //5. 提交事务
// transaction.commit();
//
// //6. 关闭 Session
// session.close();
//
// //7. 关闭 SessionFactory 对象
// sessionFactory.close();
  User user = (User)session.get(User.class, 1);

  System.out.println("get:"+user);

项目的路径如下:

2018-4-11日志记录(Hibernate温习)

一个经典的例子就写完了。

明日计划:明日计划是完成新的任务安排,温习hibernate里面的几种映射关系。