hibernate3.4 注解 oracle简单入门例子
2015-09-16 23:43
691 查看
1.下载hibernate-distribution-3.3.2.GA、hibernate-annotations-3.4.0.GA、slf4j-1.5.8、ojdbc14.jar
2.eclipse新建Java project ,取名hibernatePro,项目下创建一个lib文件夹。将
hibernate-distribution-3.3.2.GA中hibernate3.jar
hibernate-distribution-3.3.2.GA\lib\required中antlr-2.7.6.jar、commons-collections-3.1.jar、dom4j-1.6.1.jar、javassist-3.9.0.GA.jar、jta-1.1.jar、slf4j-api-1.5.8.jar
hibernate-annotations-3.4.0.GA中的hibernate-annotations.jar
hibernate-annotations-3.4.0.GA\lib中的ejb3-persistence.jar、hibernate-commons-annotations.jar
slf4j-1.5.8中的slf4j-nop-1.5.8.jar
ojdbc14.jar
加入此文件夹中,然后将所有jar包加入构建路径
3.在src目录下创建一个hibernate.cfg.xml文件,内容为:
4.创建一个实体类
注意:
(1).上面的import都是javax.persistence下的
(2).类上加@Entity 声明实体,@Table(name=”worker”)对应的数据库表
(3).主键的get方法上加@Id 声明主键,@SequenceGenerator、@GeneratedValue是oracle自动生成sequence主键
5.在hibernate.cfg.xml的
此时的hibernate.cfg.xml为:
6.创建一个实体的dao
7.创建一个测试类
8.运行测试类即可。
之所以不用建表是因为hibernate.cfg.xml中的
源码及jar包的下载地址:http://download.csdn.net/detail/qwcs163/9112977
2.eclipse新建Java project ,取名hibernatePro,项目下创建一个lib文件夹。将
hibernate-distribution-3.3.2.GA中hibernate3.jar
hibernate-distribution-3.3.2.GA\lib\required中antlr-2.7.6.jar、commons-collections-3.1.jar、dom4j-1.6.1.jar、javassist-3.9.0.GA.jar、jta-1.1.jar、slf4j-api-1.5.8.jar
hibernate-annotations-3.4.0.GA中的hibernate-annotations.jar
hibernate-annotations-3.4.0.GA\lib中的ejb3-persistence.jar、hibernate-commons-annotations.jar
slf4j-1.5.8中的slf4j-nop-1.5.8.jar
ojdbc14.jar
加入此文件夹中,然后将所有jar包加入构建路径
3.在src目录下创建一个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> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property> <property name="connection.username">cat</property> <property name="connection.password">cat</property> <property name="connection.pool_size">1</property> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <property name="current_session_context_class">thread</property> <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">update</property> </session-factory> </hibernate-configuration>
4.创建一个实体类
package com.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.SequenceGenerator; import javax.persistence.Table; @Entity @Table(name="worker") public class Worker { private int id; private String name; private int age; @SequenceGenerator(name="sequenceGenerator",sequenceName="worker_sequence",allocationSize=1) @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="sequenceGenerator") @Id public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
注意:
(1).上面的import都是javax.persistence下的
(2).类上加@Entity 声明实体,@Table(name=”worker”)对应的数据库表
(3).主键的get方法上加@Id 声明主键,@SequenceGenerator、@GeneratedValue是oracle自动生成sequence主键
5.在hibernate.cfg.xml的
<session-factory>里加入
<mapping class="com.model.Worker"/>
此时的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> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property> <property name="connection.username">cat</property> <property name="connection.password">cat</property> <property name="connection.pool_size">1</property> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <property name="current_session_context_class">thread</property> <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">update</pr a764 operty> <mapping class="com.model.Worker"/> </session-factory> </hibernate-configuration>
6.创建一个实体的dao
package com.dao; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; import com.model.Worker; public class WorkerDao { public void addWorker(Worker w){ SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); session.save(w); session.getTransaction().commit(); } }
7.创建一个测试类
package com.test; import com.dao.WorkerDao; import com.model.Worker; public class WorkerTest { public static void main(String[] args){ Worker w = new Worker(); w.setName("tom"); w.setAge(18); WorkerDao ws = new WorkerDao(); ws.addWorker(w); } }
8.运行测试类即可。
之所以不用建表是因为hibernate.cfg.xml中的
<property name="hbm2ddl.auto">update</property>属性
源码及jar包的下载地址:http://download.csdn.net/detail/qwcs163/9112977
相关文章推荐
- oracle 同一个表出现2个用户创建的同名触发器
- oracle按照主键索引查询不到数据
- 安装与配置Oracle Warehouse Builder 11.2.0.3
- Oracle hang 之sqlplus -prelim方法
- oracle11G手动建库
- Oracle学习之常见问题处理
- Oracle 序列 触发器的使用
- 更改Oracle数据库的编码格式,解决导入时ORA-12899错误
- Oracle建立表空间、建立用户、用户授权、指定表空间、激活用户、删除用户、删除表空间
- Oracle主键、唯一键与唯一索引的区别
- Oracle环境下的Hibernate方言配置
- 利用ORACLE实现数据抽样(sample block)
- oracle数据库实例启动与关闭
- oracle 表空间不足处理
- Kettle 5.4 SQL2Oracle简单实例
- Oracle 学习笔记 18 -- 存储函数和存储过程(PL/SQL子程序)
- window、linux安装jdk,excel 导入oracle,WebService,window 端口查看,svn服务安装,oracle用户解锁
- Oracle临时表 和 插入多条语句 用法
- oracle海量数据中提升创建索引的速度
- Oracle或者PostgreSQL的row_number over 排名语法