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();