hibernate最大的好處就是允許你的代碼以對象模式來訪問數據庫內容,配置自動化實現持久化。
配置hibernate的步奏:
1、添加hibernate jar
2、編寫hibernate的配置文件cfg.xml
3、創建持久化類
4、創建對象,關係映射文件hbm.xml
5、通過hibernate API編寫訪問數據庫代碼
2.<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:///data</property>
<!-- 配置HIbernate的基本信息 -->
<!-- 1.配置hibernate的方言 -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 2.是否在控制檯打印sql -->
<property name="show_sql">true</property>
<!-- 3.是否對sql進行格式化 -->
<property name="format_sql">true</property>
<!-- 4.指定自動生成數據表的策略 -->
<property name="hbm2ddl.auto">update</property>
<!-- 指定關聯的.hbm.xml -->
<mapping resource="com/hibernateTest/enty/News.hbm.xml"/>
</session-factory>
3. private Integer id;
private String title;
private String author;
private Date date;
4
<hibernate-mapping>
<class name="com.hibernateTest.enty.News" table="NEWS">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<!-- 指定主鍵的生成方式,native:使用本地數據庫方式 -->
<generator class="native" />
</id>
<property name="title" type="java.lang.String">
<column name="TITLE" />
</property>
<property name="author" type="java.lang.String">
<column name="AUTHOR" />
</property>
<property name="date" type="java.sql.Date">
<column name="DATE" />
</property>
</class>
</hibernate-mapping>
5、
//1創建一個sessionfactory對象
//1)創建configuration對象
Configuration configuration =new Configuration().configure();
//2)hibernate4.0之後新添加的對象,hibernate的任何配置都需要在該對象(serviceRegistry)中註冊纔有效
ServiceRegistry serviceRegistry=
new ServiceRegistryBuilder().applySettings(configuration.getProperties())
.buildServiceRegistry();
//3)
SessionFactory sessionFactory=null;
sessionFactory=configuration.buildSessionFactory(serviceRegistry);
//2創建一個session對象
Session session=sessionFactory.openSession();
//開啓事務
Transaction transaction= session.beginTransaction();
//執行保存操作
News news=new News("java", "huihui", new Date(new java.util.Date().getTime()));
session.save(news);
//提交事務
transaction.commit();
//關閉session對象
session.close();
//關閉sessionfactory對象
sessionFactory.close();