【Hibernate3.3复习知识点一】 - 配置hibernate环境(XML)。
官方在线参考文档:http://docs.jboss.org/hibernate/core/3.6/reference/zh-CN/html_single/
此复习笔记的对应文档:http://docs.jboss.org/hibernate/core/3.3/reference/zh-CN/html_single/ 中间数字为版本信息。
一、创建实体类
字段和数据库表中字段的一一对应。
Event.java
import java.util.Date; public class Event {private Long id; private String title;private Date date; public Event() {} public Long getId() {return id; } private void setId(Long id) {this.id = id; } public Date getDate() {return date; } public void setDate(Date date) {this.date = date; } public String getTitle() {return title; } public void setTitle(String title) {this.title = title; }}
二、创建映射文件(和实体类同包)
Event.hbm.xml
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.hibernate.tutorial.domain"> <class name="Event" table="EVENTS"><id name="id" column="EVENT_ID"><generator class="native"/></id><property name="date" type="timestamp" column="EVENT_DATE"/><property name="title"/></class> </hibernate-mapping>
class name和table告诉hibernate实体类和表的对应关系。
id name和column是类属性和表字段的对应。 generator是主键的生成策略。
property配置的是其他的属性。 type指定映射的数据库字段类型。(如果在映射文件中没有设置 type
属性的话,Hibernate 会自己试着去确定正确的转换类型和它的映射类型。此例中date
属性,Hibernate 无法知道这个属性(java.util.Date
类型的)应该被映射成:SQL date
,或 timestamp
,还是 time
字段。在此例中,把这个属性映射成 timestamp
转换器,这样我们预留了日期和时间的全部信息。 )
数据库不区分大小写,所以当name和table相同时 table可以省略。同理 当name和column相同时 column可以省略
创建hibernate配置文件
hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings --><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql://localhost/hibernate</property><property name="connection.username">root</property><property name="connection.password">1234</property> <!-- JDBC connection pool (use the built-in) 连接池--><property name="connection.pool_size">1</property> <!-- SQL dialect 方言--><property name="dialect">org.hibernate.dialect.MySQLDialect</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 控制台显示SQL语句--><property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup 生成建表语句HibernateMappingToDataDefinedLanguage--><property name="hbm2ddl.auto">update</property> <!-- 将实体类映射成数据库字段 --><!-- 方法一 通过配置文件映射 --><mapping resource="com/bjsxt/hibernate/Event.hbm.xml"/><!-- 方法二 通过注解映射 (略 后面笔记记录)--> </hibernate-configuration>
创建启动辅助类
辅助类(helper class)来负责启动 Hibernate 和更方便地操作 org.hibernate.SessionFactory
HibernateUtil.java
import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration; public class HibernateUtil { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() {try {// Create the SessionFactory from hibernate.cfg.xml return new Configuration().configure().buildSessionFactory(); }catch (Throwable ex) {// Make sure you log the exception, as it might be swallowed System.err.println("Initial SessionFactory creation failed." + ex);throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() {return sessionFactory; } }
调用
import org.hibernate.Session; import java.util.*; import org.hibernate.tutorial.domain.Event;import org.hibernate.tutorial.util.HibernateUtil; public class EventManager { public static void main(String[] args) { Event theEvent = new Event(); theEvent.setTitle("My Event"); theEvent.setDate(new Date());
Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); session.save(theEvent); session.getTransaction().commit(); } }
通过save方法将实体对象的值存到数据库表中。
转载于:https://www.cnblogs.com/surge/archive/2012/02/27/2370293.html
【Hibernate3.3复习知识点一】 - 配置hibernate环境(XML)。相关推荐
- 【Hibernate3.3复习知识点二】 - 配置hibernate环境(annotations)
配置文件hibernate.cfg.xml中引入:<mapping class="com.bjsxt.hibernate.Teacher"/> <hibernat ...
- 配置Hibernate环境
1: 在lib环境下添加Hibernate中的所有JAR包: 2: 对应数据库做一个持久类(也可由工具自动生成),例如: public class student { public stud ...
- 知识点 Linux 配置LAMP环境
LAMP:指Web应用软件组合 L-Linux 为linux操作系统 A-Apache 为Web服务器 M-Mysql 为数据库管理系统 P-PHP 脚本语言 本文的主要目标,就是在虚拟机CentOS ...
- hibernate正向生成数据库表以及配置——hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hib ...
- 第一次使用并配置Hibernate
1. 环境配置 1.1 hiberante环境配置 hibernate可实现面向对象的数据存储.hibernate的官网:http://hibernate.org/ 官网上选择hibernate OR ...
- Spring中配置Hibernate事务的四种方式
2019独角兽企业重金招聘Python工程师标准>>> 为了保证数据的一致性,在编程的时候往往需要引入事务这个概念.事务有4个特性:原子性.一致性.隔离性.持久性. 事务的种类有两种 ...
- 配置hibernate手动配置
为什么80%的码农都做不了架构师?>>> 手动配置: 1.CROD 操作 界面 testmain.java Domain service 数据持久层 数据库 Mysql Ore ...
- 配置Hibernate二级缓存步骤
配置Hibernate二级缓存步骤: 加入二级缓存的jar包及配置文件 jar包位置:hibernate-release-4.1.8.Final\lib\optional\ehcache下所有jar包 ...
- 如何正确使用maven配置hibernate
我今天一整天,都忙着在用maven配置hibernate.网上的教程很少,经常报错,官方的文档上也是语焉不详,后来在网上差了一整天的资料,有中文的,有外文的,有CSDN上的,有stackoverflo ...
- 关于Could not parse configuration: /hibernate.cfg.xml的问题
第一次在eclipse上配置hibernate,问题百出啊,比如下面的org.hibernate.HibernateException: Could not parse configuration: ...
最新文章
- 谁知道静态成员的纠结心境
- JAVA命令运行cmd命令得到的结果乱码Runtime.getRuntime().exec();
- 【机器学习基础】Softmax与交叉熵的数学意义(信息论与概率论视角)
- mysql比较两个表中count_mysql两个表统计查询问题?
- x86汇编--0.资料汇总
- Inspinia的version 2.4模板使用的谷歌字体加载很慢问题解决
- python 开发微信小游戏_Python实现微信找茬小游戏自动进行
- 50个高端大气上档次的管理后台界面模板
- 电子产品检验-检验中心
- android平板和ipad区别,iPad和安卓平板差距大吗?亲身经历告诉你,平板该如何挑选...
- 高中数学复习知识清单
- 鸿蒙系统手机电脑互传文件,华为手机怎么与电脑互传文件(Huawei Share教程
- 原生 hadoop安装
- CSS技巧之向下箭头
- 牛客网C语言考试输入输出问题
- Google Earth Engine—ETOPO1是一个1弧分的地球表面全球浮雕模型,整合了陆地地形和海洋测深。它是由许多全球和区域数据集建立的。它包含两个高程带:冰面和基岩。
- 拍卖源码架构在拍品详情页上的探索
- ​为什么要举办这样一场大会?
- 使用命令行删除垃圾广告推送服务(windows)
- 可穿戴从业者必读:2014华米踩过的那些坑
热门文章
- Pandas数据框索引函数 iloc、loc和ix学习使用
- Science杂志公布的机器学习资源
- java 按顺序读取文件夹_java读取某个文件夹下的所有文件实例代码
- python聊天室详细教程_Python基础教程书籍案例:在线聊天室(虚拟茶话会)【下】...
- javascript设计模式_详解JavaScript的常用设计模式(二)
- linux 程序崩溃 gdb调试coredump文件
- Hyperledger Fabric 或 Composer 获取指定Tx_id(transactionId)的信息
- linux mysql 数据库同步
- vue element 调用后台下载文件
- Unity Camera