在myeclipse下整合spring和hibernate. 1
利用Eclipse开发Hibernate应用程序.. 12
用eclipse+Hibernate 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.org/component/option,com_docman/task,doc_download/gid,9/Itemid,71/
在myeclipse下整合spring和hibernate. 1
利用Eclipse开发Hibernate应用程序.. 12
用eclipse+Hibernate 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下整合spring和hibernate
整合hibernate和spring这样的文章已经很多了,下面我们来看看如何利用myeclipse的功能为整合提速咯
1.首先,创建工程,可以直接选创建J2EE web工程
(这....就不用贴图了吧)
2.导入spring, 选择myeclipse的add spring capabilities,注意把copy .....打勾(注,如果想要在spring的配置文件中配置hibernate的话, 一定要先导入spring)
3. 导入hibernate, 选择myeclipse的add hibernatecapabilities,注意把copy .....打勾
这时,myeclipse检测到已有spring,会问如何处理hibernate配置信息, 这里, 我们选择把hibernate的配置信息写在spring的配置信息中
接着,既然选择把在spring配置文件中配置hibernate信息,就需要设置hibernate的sessionfactory在配置文件中的bean id, 这里, 就设置为sessionFactory
然后要配置sessionFactory对应的数据源,注,数据源对应的bean id也需要设置,可以简单设置为dataSource
就不贴图咯
最后,选择sessionfactory对于的实现类,可以就用spring提供的LocalSessionFactory
这样, 我们就在项目中添加了spring和hibernate并将他们给予整合咯
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-imp
< 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;
imp
imp
imp
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>
最后的最后,开发一个测试类:
imp
imp
imp
imp
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 、原创文章