航海日志 hhrz.org hhrz.net chq.name

  • 增大字号
  • 默认文字大小
  • 减小字号

hibernate文档集锦2

E-mail 打印 PDF
用户评价: / 0
好 

myeclipse下整合springhibernate. 1

利用Eclipse开发Hibernate应用程序.. 12

eclipseHibernate Synchronizer(plugin)开发例子(原创) 19

hibernatesynch. 24

. 24

Use the Generated Objects. 25

Spring+Hibernate+Junit+Oracle的最简单的人门.. 25

Java应用中使用Hibernate. 39

Hibernate Dialect must be explicitly set异常解决方法 49

word文档下载:http://www.hhrz.net/component/option,com_docman/task,doc_download/gid,9/Itemid,71/

myeclipse下整合springhibernate. 1

利用Eclipse开发Hibernate应用程序.. 12

eclipseHibernate Synchronizer(plugin)开发例子(原创) 19

hibernatesynch. 24

Create a Configuration File. 24

Create Mapping Files. 24

Use the Generated Objects. 25

Spring+Hibernate+Junit+Oracle的最简单的人门.. 25

Java应用中使用Hibernate. 39

Hibernate Dialect must be explicitly set异常解决方法.. 49

myeclipse下整合springhibernate

整合hibernatespring这样的文章已经很多了,下面我们来看看如何利用myeclipse的功能为整合提速咯

1.首先,创建工程,可以直接选创建J2EE web工程
(
....就不用贴图了吧)

2.
导入spring, 选择myeclipseadd spring capabilities,注意把copy .....打勾(,如果想要在spring的配置文件中配置hibernate的话, 一定要先导入spring)




3.
导入hibernate, 选择myeclipseadd hibernatecapabilities,注意把copy .....打勾




这时,myeclipse检测到已有spring,会问如何处理hibernate配置信息, 这里, 我们选择把hibernate的配置信息写在spring的配置信息中



接着,既然选择把在spring配置文件中配置hibernate信息,就需要设置hibernatesessionfactory在配置文件中的bean id, 这里, 就设置为sessionFactory




然后要配置sessionFactory对应的数据源,,数据源对应的bean id也需要设置,可以简单设置为dataSource
就不贴图咯




最后,选择sessionfactory对于的实现类,可以就用spring提供的LocalSessionFactory



这样, 我们就在项目中添加了springhibernate并将他们给予整合咯

3.
应用:
配置好了环境,我们当然还得应用咯.下面给出我的代码
首先创建pojo和对应的hbm.xml

package mapping;

public class Test  {

public Test()  {
super ();
// TODO Auto-generated constructor stub
}

private int id;

private String name;

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;
}


}

<? 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 default-lazy ="false" auto-import ="true" package ="mapping" >
< class table ="test" name ="Test" >
< id name ="id" column ="test_id" type ="int" >
< generator class ="native" ></ generator >
</ id >

< property name ="name" type ="string" column ="name" ></ property >
</ class >
</ hibernate-mapping >


然后开发对应的DAO操作pojo, 因为我比较懒,所以直接使用HibernateTemplate进行操作

package mapping;

import java.util.List;

import org.hibernate.Criteria;
import org.springframework.orm.hibernate3.HibernateTemplate;

public class TestDAO  {

private HibernateTemplate hibernateTemplate;

public TestDAO()  {
super();
// TODO Auto-generated constructor stub
}

public Test getTest(String name) throws Exception  {
Test t=
new Test();
t.setName(name);
List list =
this.getHibernateTemplate().findByExample(t);
if (list.isEmpty())
throw new Exception("No Such Record");
else
return (Test) list.get(0);
}

public void addTest(String name)  {
Test test =
new Test();
test.setName(name);
this.getHibernateTemplate().save(test);
}

public void updateTest(Test test) {
this.getHibernateTemplate().update(test);
}

public void deleteTest(Test test) {
this.getHibernateTemplate().delete(test);
}

public HibernateTemplate getHibernateTemplate()  {
return hibernateTemplate;
}

public void setHibernateTemplate(HibernateTemplate ht)  {
this.hibernateTemplate = ht;
}
}

相应的,还需要修改下spring的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>


<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/nirvana?useUnicode=true</value>
</property>
<property name="username">
<value>dyerac</value>
</property>
<property name="password">
<value></value>
</property>
</bean>

<bean id="sessoinFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="connection.characterEncoding">utf8</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="mappingDirectoryLocations">
<list >
<value>src/mapping</value>
</list>
</property>
</bean>

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessoinFactory"/>
</property>
<property name="allowCreate">
<value>true</value>
</property>
</bean>

<bean id="testDAO" class="mapping.TestDAO">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
</beans>



最后的最后,开发一个测试类:

import mapping.Test;
import mapping.TestDAO; 
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class Tester  {

public static void main(String args[])  {
ApplicationContext ctx =
new FileSystemXmlApplicationContext(
"src/applicationContext.xml");
TestDAO test = (TestDAO) ctx.getBean("testDAO");
//test.addTest("dyerac");
try
Test t = test.getTest("bsbs");
System.err.println(t.getName());
//t.setName("bsbs");
//test.updateTest(t);
//test.deleteTest(t);
} catch (Exception e) 
System.err.println(e);
}
}
}

posted on 2006-08-04 17:42 dyerac in java... 阅读(407) 评论(0) 编辑 收藏 收藏至365Key 所属分类: spring&hibernate 原创文章

最后更新于: 2012-04-28 07:25