- 浏览: 511234 次
- 性别:
- 来自: 宁波
文章分类
- 全部博客 (137)
- JQuery component (3)
- Web编程控件 (7)
- java (19)
- database (9)
- Web Service (6)
- XML (2)
- FTP (2)
- SSH2 (18)
- javascript (3)
- arcgis (7)
- geoserver (1)
- Openscales (2)
- FME (6)
- HttpClient (3)
- portal (6)
- oracle goldengate (7)
- oracle (3)
- 命令锦集 (1)
- web容器 (3)
- NB博客链接 (2)
- 设计模式 (0)
- ext (2)
- 小工具 (12)
- Flex (1)
- LINUX (1)
- Android (1)
- Maven 入门 (2)
- 负载均衡 (1)
- openlayers (2)
- Flexkkjk (0)
最新评论
-
lgh1992314:
ApplicationContext context = We ...
Spring中的ContextLoaderListener使用 -
lgh1992314:
ContextLoaderServletSpring3.0后删 ...
Spring中的ContextLoaderListener使用 -
gaoqiangjava:
...
Spring中的ContextLoaderListener使用 -
liude33:
好资料啊,网上这方面的资料好少。
goldengate 学习资料 -
AKka:
在实体类中加上@Transient 注解后,为什么还会在数据库 ...
JPA注解 转
hibernate 搭建
1、所需jar包
antlr-2.7.6.jar、commons-collections-3.1.jar、dom4j-1.6.1.jar、hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、
javassist-3.11.0.GA.jar、jta-1.1.jar、slf4j-api-1.6.1.jar
2、src下hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="foo">
<property name="show_sql">true</property>
<property name="myeclipse.connection.profile">oraclejdbc</property>
<property name="connection.url">
jdbc:oracle:thin:@10.8.205.70:1521:orcl
</property>
<property name="connection.username">sspm</property>
<property name="connection.password">sspm</property>
<property name="connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<property name="dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
<mapping resource="com/sspm/hibernate/test/Customer.hbm.xml"/>
<mapping resource="com/sspm/hibernate/test/Order.hbm.xml"/>
</session-factory>
</hibernate-configuration>
3、编写HibernateUtil.java
public class HibernateUtil {
private static SessionFactory sessionFactory;
private HibernateUtil() {
}
static {
Configuration cfg = new Configuration();
cfg.configure();
sessionFactory = cfg.buildSessionFactory();
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static Session getSession() {
return sessionFactory.openSession();
}
}
4、数据库表
表customer
-- Create table
create table CUSTOMER
(
ID NUMBER not null,
NAME VARCHAR2(20)
)
tablespace FM
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table CUSTOMER
add constraint COUSTOMER_PKID primary key (ID)
disable;
表ORDERS
-- Create table
create table ORDERS
(
ID NUMBER not null,
ORDERNUMBER VARCHAR2(20),
CUSTOMERID NUMBER not null
)
tablespace FM
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table ORDERS
add constraint ORDER_PKID primary key (ID)
disable;
alter table ORDERS
add constraint CUSTOMER_FK foreign key (CUSTOMERID)
references CUSTOMER (ID) on delete cascade
disable;
5、javabean 及映射文件
Customer.java
public class Customer {
private Long id;
private String name;
private Set<Order> orders = new HashSet<Order>();
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Set<Order> getOrders() {
return orders;
}
public void setOrders(Set<Order> orders) {
this.orders = orders;
}
}
Customer.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.sspm.hibernate.test.Customer" table="Customer">
<id name="id" type="java.lang.Long" column="Id">
<generator class="sequence">
<param name="sequence">SQ_CUSTOMER_ID</param>
</generator>
</id>
<property name="name" column="Name" type="string"></property>
<set name="orders" cascade="all" inverse="true">
<key column="CustomerId" /><!-- 对应着外键 -->
<one-to-many class="com.sspm.hibernate.test.Order" />
</set>
</class>
</hibernate-mapping>
public class Order {
private Long id;
private Customer customer;
private String orderNumber;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public String getOrderNumber() {
return orderNumber;
}
public void setOrderNumber(String orderNumber) {
this.orderNumber = orderNumber;
}
}
Order.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.sspm.hibernate.test.Order" table="Orders">
<id name="id" type="java.lang.Long" column="Id">
<generator class="sequence">
<param name="sequence">SQ_ORDER_ID</param>
</generator>
</id>
<property name="orderNumber" column="OrderNumber"
type="string">
</property>
<many-to-one name="customer" column="CustomerId"
class="com.sspm.hibernate.test.Customer" cascade="all" lazy="false"
not-null="true">
</many-to-one>
</class>
</hibernate-mapping>
6、action 测试类
public class CustomerAction {
private Customer customer;
private List<Customer> listCustomer;
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
public List<Customer> getListCustomer() {
return listCustomer;
}
public void setListCustomer(List<Customer> listCustomer) {
this.listCustomer = listCustomer;
}
/** * 添加客户 * */
public void addCustomer(Customer customer) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
s.save(customer);
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
}
/** * 删除客户 * */
public void deleteCustomer(Customer customer) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
s.delete(customer);
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
}
/** * 更新客户 * */
public void update(Customer customer, String name) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
customer.setName(name);
s.update(customer);
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
}
/** * 查询客户 * */
public Customer findCustomer(Long id) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
customer = (Customer) s.get(Customer.class, id);
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
return customer;
}
/** * 查找所有的客户 * */
public List<Customer> findAll() {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
Query query = s
.createQuery("from Customer as a order by id asc");
listCustomer = query.list();
for (Iterator iter = listCustomer.iterator(); iter.hasNext();) {
Customer customer = (Customer) iter.next();
System.out.println("客户ID是:" + customer.getId() + "客户姓名是:"
+ customer.getName());
}
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
return listCustomer;
}
}
public class OrderAction {
private Order order;
private List<Order> listorder;
public Order getorder() {
return order;
}
public void setorder(Order order) {
this.order = order;
}
public List<Order> getListorder() {
return listorder;
}
public void setListorder(List<Order> listorder) {
this.listorder = listorder;
}
public void addorder(Order order) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
s.save(order);
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
}
/** * 删除用户 * */
public void deleteorder(Order order) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
s.delete(order);
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
}
public void update(Order order, String number) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
order.setOrderNumber(number);
s.update(order);
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
}
public Order findorder(Long id) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
order = (Order) s.get(Order.class, id);
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
return order;
}
public List<Order> findAll() {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
Query query = s.createQuery("from Order as a order by id asc");
listorder = query.list();
for (Iterator iter = listorder.iterator(); iter.hasNext();) {
Order order = (Order) iter.next();
System.out.println("订单ID是:" + order.getId() + "订单数目是:"
+ order.getOrderNumber());
}
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
return listorder;
}
}
public class Test {
public static void main(String args[]) {
Customer customer = new Customer();
customer.setName("google");
CustomerAction ca = new CustomerAction();
/**
* * 添加对象 *
*/
ca.addCustomer(customer);
OrderAction oa = new OrderAction();
Order order = new Order();
order.setOrderNumber("77");
order.setCustomer(customer);
oa.addorder(order);
}
}
发表评论
-
spring 线程池
2013-10-24 07:30 0spring 配置文件 <!-- app ... -
在javaee项目里集成了hibernate,在使用注解映射表时,老是出现的错误
2012-02-06 14:11 2764在javaee项目里集成了hibernate,在使用注解映射表 ... -
nested exception is org.hibernate.AnnotationException: mappedBy reference an unk
2012-02-06 14:10 4929现有部门与用户两个表 一对多关系 在进行hibern ... -
Hibernate Annotation (Hibernate JPA注解) 实例
2012-01-17 10:06 4028hibernate: 3.6 数据库 oracle ... -
JPA注解 转
2012-01-17 09:53 61691、@Entity(name="EntityName ... -
hibernate反向映射 no entries available
2012-01-16 15:07 3987做项目时,有时需要用hibernate反向映射表,很多时候会出 ... -
Struts2+JSON+jQuery实现异步交互数据时选择要序列化的属性(二使用XML配置方式)
2012-01-13 09:46 1246只需在XML配置就可以了,配置方式是: Xml代码 ... -
Struts2+JSON+jQuery实现异步交互数据时选择要序列化的属性(一注解方式转)
2012-01-13 09:45 1598在使用Struts2的JSON插件,实现Action中的属性序 ... -
Struts2练习--基于注解方式Action配置
2012-01-11 16:59 18033还是已登录来说明下这个Action的配置,这里要说的Actio ... -
Struts2练习-最基本的示例 —转
2012-01-11 16:52 1281转-(查看更多内容请点击http://javacrazyer. ... -
struts2.3.1 注解 HTTP Status 404 - There is no Action mapped for namespace
2012-01-11 16:49 3605使用struts2.3.1 注解配置时 自己将配置文件stru ... -
Spring JDBC模板类—org.springframework.jdbc.core.JdbcTemplate
2011-12-01 14:44 1925转:http://just-do-myself.iteye.c ... -
DWR + Spring 配置问题 No class by name
2011-11-23 16:28 4018[framework] 2011-07-26 16:51:0 ... -
DWR Spring 注解 整合
2011-09-22 23:18 14091、添加相应jar包 2、配置web.xml <?x ... -
项目无法使用Hibernate Reverse Engineering ,解决办法
2011-04-13 18:22 1775手工自己编写hibernater的配置文件。可惜当采用Hibe ... -
用AnnotationSessionFactoryBean生成sessionFactory时报错不能创建sessionFactoyBean(转)
2011-02-16 11:04 4062报错信息: [junit] Testcase: testCr ... -
Spring中的ContextLoaderListener使用
2011-01-18 10:30 40183最近 项目中使用Spring 时,applicationCon ... -
Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(一)(转载)
2010-12-16 13:40 1149在JavaEE企业级开发中,以SSH2框架为核心的应用 ...
相关推荐
hibernate3 配置hbm2ddl和hbm2java所需jar,里面包含了所有的jar,如:hibernate3的相关jar、hibernate-tools.jar等。
struts2 spring2 hibernate3 配置,图文都有。对了,这个配置没加入log4j的配置文件,要将log4j配置文件拷入src目录。spring的配置文件最好放在web_inf下面,而不是src目录,我已安装测试过了,并将工程文件上传。
Spring2+Struts1_2+Hibernate3_0集成时的配置
Hibernate配置详解,详细描述了Hibernate的配置文件,一对一 一对多,多对多的单双向配置详解。
hibernate_3配置文件参数汇总,在ssh开发中经常用到是hibernate_3配置
Hibernate 配置详解,参数说得很详细,相信对大家有所提高
hibernate的配置介绍,在myeclipse中配置hibernate,hibernate已经在myeclipse中了,创建工程,然后在工程中添加hibernate框架,一些设置
Hibernate XML配置表映射实例
最基本的Hibernate的配置。亲测可以运行。 包含各种jar包,有配置说明。简单好用,你值得拥有
Hibernate 下配置连接池解决多连接的问题
hibernate配置,详细的讲了hibernate用的配置文件和方法,可以哦
常用 Hibernate 映射配置说明.doc
关于hibernate的配置文件hibernate1.cfg.xml
springmvc + hibernate annotation 配置
hibernate 配置 C3P0 连接池
memcache的客户端,用maven构建,里有用hibernate-memcached与hibernate,spring3.0进行配置,也有与spring3.0单独配置。
这个文档适用初学者,详细解释了Hibernate的配置环境和方法。
hibernate配置文件 里面提供了连接数据库 数据库使用的方言 是否打印SQL语句 sql语句的格式 以及对象-关系映射文件的地址等
Hibernate3.x简单配置示例,单表简单映射及Hibernate基本配置示例
在myeclipse中配置hibernate 自动生成配置文件在myeclipse中配置hibernate 自动生成配置文件