Hibernate API操纵连接数据库
1.一对多的关联
在数据库建立两张表persion和adderss表,adderss是主表所以要设计一个主键,主表与外键表建立一对多的关系。在eclipse中连接数据库,步骤如下:
window-->open Perspective-->MyEclipse Java Persistence
然后在创建一个web项目,再在连接后的数据库在反向生成实体类,这样就会节约好多时间自己写代码了。java package——存放将要反转出来的实体类,选择目录(应该是提前建好的com.xxx.model之类的包);Create pojo<>db。。。这个选项选中,就是我们建立从表到简单java 对象(即pojo)的配置,把下面的add hibernate mapping annotations to pojo的选上,其它不管,这个选项用来“添加映射注解到pojo对象上”,代码生成后还需要改动一下,在DAO中改save部分用try catch来提交数据,在index中传值方法。
try {
Transaction t=getSession().beginTransaction();
getSession().save(transientInstance);
t.commit();
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
index里面添加数据
PersonInf p=new PersonInf();
p.setName("姚明");
AddressInf a=new AddressInf("上海");
p.getAddressInfs().add(a);
a=new AddressInf("南京");
p.getAddressInfs().add(a);
PersonInfDAO pdao=new PersonInfDAO();
pdao.save(p);
2.多对多关联
多对多的关联与一对多的管理唯一的区别就是数据库的改变;多对多的关系要生成第三张表,中间表。还有就是反向生成实体类的时候在数据库中要选中两张表。点击打开链接
数据库的表先建好关系后,再在反向生成代码,具体步骤如下
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<property name="connection.url">
jdbc:jtds:sqlserver://127.0.0.1:1433/test
</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<property name="connection.driver_class">
net.sourceforge.jtds.jdbc.Driver
</property>
<property name="myeclipse.connection.profile">jtds1.2</property>
<mapping resource="com/cqvie/AddressInf.hbm.xml" />
<mapping resource="com/cqvie/PersonInf.hbm.xml" />
</session-factory>
现在就对数据库的操作,步骤如下:
上面讲述的是Hibernate操纵数据库多对多的关联,所有步骤生成如上所示。。。。

浙公网安备 33010602011771号