惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Y
Y Combinator Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Hacker News
The Hacker News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
P
Palo Alto Networks Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Security Latest
Security Latest
Security Archives - TechRepublic
Security Archives - TechRepublic
Last Week in AI
Last Week in AI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
美团技术团队
雷峰网
雷峰网
Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
Jina AI
Jina AI
D
Docker
Hacker News: Ask HN
Hacker News: Ask HN
T
Threat Research - Cisco Blogs
V
Vulnerabilities – Threatpost
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
人人都是产品经理
人人都是产品经理
T
Threatpost
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
O
OpenAI News
Hugging Face - Blog
Hugging Face - Blog
N
Netflix TechBlog - Medium
Webroot Blog
Webroot Blog
Apple Machine Learning Research
Apple Machine Learning Research
Spread Privacy
Spread Privacy
A
Arctic Wolf
T
Tailwind CSS Blog
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 三生石上(FineUI控件)
NISL@THU
NISL@THU
T
Tor Project blog
Project Zero
Project Zero
C
CERT Recently Published Vulnerability Notes
Google DeepMind News
Google DeepMind News
V
Visual Studio Blog
WordPress大学
WordPress大学
小众软件
小众软件
Google Online Security Blog
Google Online Security Blog
PCI Perspectives
PCI Perspectives
W
WeLiveSecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Last Watchdog
The Last Watchdog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
大猫的无限游戏
大猫的无限游戏

博客园 - xiaolei1982

asp.net的ajax的实现 spring:bean生命周期(转贴) Struts+Spring+Hibernate练习(转贴) spring:bean注入(转贴) - xiaolei1982 - 博客园 解析eclipse下生成Hibernate DAO中的几个方法(转贴) ASP.NET ViewState 实现分析(转贴) 自定义控件源码(转贴) ASP.NET服务器控件的开发(4)(转贴) ASP.NET服务器控件的开发(3)(转贴) ASP.NET服务器控件的开发(2) (转贴) ASP.NET服务器控件的开发(1)(转贴) Web 页本是无状态而断续的(转贴) asp.net控件开发基础(3)(转贴) asp.net控件开发基础(6)(转贴) asp.net控件开发基础(5)(转贴) asp.net控件开发基础(4)(转贴) asp.net控件开发基础(2)(转贴) asp.net控件开发基础(1)(转贴) C#中使用反射显示程序集的所有类型和属性(转贴)
在myeclipse下整合spring和hibernate(转贴)
xiaolei1982 · 2008-06-12 · via 博客园 - xiaolei1982

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

}

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

    }

}