搭建Spring Mvc+Spring+Hibernate开发框架详细说明

最近闲来无事自己练习了一下搭建开发框架。找了很多资料,spring 3.0.1+hibernate3.2.5的jar包整合没有冲突。最终完成了测试。2大框架学的时间也不短了。推荐大家在学习的过程中多去看官网下载的压缩包中的内容。很多我们在百度上问的东西里面都有案例和相关的文档解释。看英文还能学点英语,最后祝大家学习顺利吧。

 

 

源码+jar包打包下载:

http://pan.baidu.com/share/link?shareid=217859&uk=1997312776

 

 

 

1、  首先先下载hibernate和spring的jar包。推荐在官网下载,本篇blog用的是hibernate3.2.5+spring3.0.1

2、  建立web project。POJO类和映射文件。

Pojo类没有什么困难,但是本篇仍旧贴出代码如下:

package cn.sprhib.model;

public class Users {
	
	private Long id;
	private String username;
	private String password;
	
	
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}

建立映射文件Users.hbm.xml

说明:关于头文件的引用和其中的一些xml写法案例在hibernate包的hibernate-3.0\eg\org\hibernate\auction下可以找到相关的案例写法。Copy过去即可,本案例映射代码如下:





	
		
			
		
		
		
	
	


3、导入hibernate3.2.5相关Jar包。为生成数据库表做准备。导入Jar包情况请看下图:


除此之外还要导入Mysql的驱动包


4、编写hibernate.cxf.xml文件。

参考文件位置: hibernate-3.0.1\hibernate-3.0\etc下得hibernate.cxf.xml这个文件把大致轮廓都已经写好。其中的一些property的key还有value可以去同目录下的hibernate.properties文件中去查阅,当然也可以去该类的源码去中查找.代码如下:




	
		
		true
		
		
			org.hibernate.dialect.MySQLDialect
		
		
		
			com.mysql.jdbc.Driver
		
		
		
			jdbc:mysql://192.168.1.104:3306/sprhib?useUnicode=true&characterEncoding=utf8
		
		
		root
		
		root
		
 		True		
		
		
		
		
	


5、编写类将POJO通过配置好的ORM关系映射生成表:代码如下

public class ClassToDB {
   
   
    public static void main(String[] args) {
       Configuration config = null;
       Session session = null;
       Transaction sa = null;
      
       config = new Configuration().configure(new File("src/hibernate.cfg.xml"));
       SessionFactory sessionFactory = config.buildSessionFactory();
       session = sessionFactory.openSession();
       sa = session.beginTransaction();
       SchemaExport schemaExport = new SchemaExport(config);
       schemaExport.create(true, true);
       sa.commit();
    }
}
 
-------------------------------------------------------------------------------------------------------------------------------------------------------------

下面开始加入spring的配置,并且将hibernate数据库管理交由spring的bean管理

 

1、在WEB-INF文件夹下面建立xml文件名为sprhib-data.xml。

2、关于头文件的阐述:周所周知spring的头文件是引用的spring服务器上面的schema约束。Beans、context、aop等等都有明确的地址。[关于xml的schema约束部分的知识本章不再详述,不了解的可以去看我的blog上webservice里面关于xml的讲解]拿到头文件可以手敲。也可以去Doc里面拿

         (1)手敲方式[官网url][schema][引用部分案例比如beans、context]

         http://www.springframe.org/schema/beans

     (2)Doc方式Copy

    Spring官网下载目录中会有一个文件为

           spring-framework-3.0.1.RELEASE-A-with-docs.zip文件。此文件解压之后在

spring-framework-3.0.1.RELEASE-A\docs\spring-framework-reference\htmlsingle下面有一个帮助文件为spring-framework-reference.html

在此文件的3.2.1  Configurationmetadata 中有相关案例如下图:

将此文件copy过来即可

 

 

3、  添加Spring和c3p0相关的Jar包。如下截图所示:


4、  编写配置文件如下









		
		
		
		
		
		
		
		
		




	
	
		
			cn/sprhib/model/Users.hbm.xml
		
	
	
			
				org.hibernate.dialect.MySQLInnoDBDialect
			
	




	




     




5、  添加web.xml读取配置加载该xml代码如下:


 		contextConfigLocation
 		
 			/WEB-INF/sprhib-data.xml
 		
 

6、  编写JunitTestCase来实现添加一个用户,代码如下:

 

public class SaveUsers {
	
	BeanFactory factory = null;
	@Test
	public void testSave(){
		factory = new FileSystemXmlApplicationContext("WebContent/WEB-INF/sprhib-data.xml");   
		HibernateTemplate hibernateTemplate = (HibernateTemplate) factory.getBean("hibernateTemplate");
		
		Users user = new Users();
		user.setUsername("zhanglei");
		user.setPassword("qweasd");
		
		hibernateTemplate.save(user);
	}
}

测试成功:



-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

下面加入spring mvc的配置,完成前后台请求

1、  WEB-INF下面new一个xml文件名为: dispatcher-servlet.xml内容如下:





  
  
      
        /WEB-INF/pages/  
      
      
    .jsp  
      
  








2、 web.xml 加入前置控制器 Servlet 代码如下 :


		org.springframework.web.context.ContextLoaderListener
	
  
  
	
		dispatcher
		org.springframework.web.servlet.DispatcherServlet
		1
	
	
		dispatcher
		/test/* 
	

3、  编写ControllerDao等代码完成一个操作

@Controller
@RequestMapping("controller")
public class UsersController{

	@Resource
	private UsersDao usersDaoImpl;
	public UsersDao getUsersDaoImpl() {
		return usersDaoImpl;
	}
	public void setUsersDaoImpl(UsersDao usersDaoImpl) {
		this.usersDaoImpl = usersDaoImpl;
	}



	@RequestMapping(value="/addUser.action",method=RequestMethod.GET)
	public void addUsers(HttpServletRequest request,HttpServletResponse response){
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		Users u = new Users();
		u.setUsername(username);
		u.setPassword(password);
		usersDaoImpl.addUser(u);
		
	}
	
	
}

Dao接口

package cn.sprhib.model;

public interface UsersDao {
	public void addUser(Users user);
}

Dao实现类

@Component("usersDaoImpl")
public class UsersDaoImpl implements UsersDao{

	@Resource(name="hibernateTemplate")
	private HibernateTemplate hibernateTemplate;
	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}
	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}

	@Override
	public void addUser(Users user) {
		hibernateTemplate.save(user);
	}

}

访问地址以操作:

http://localhost:8080/Sprhib/test/controller/addUser.action?username="ceshi"&password="pass"

 

 

 

到此为止springmvc+spring+hibernate 搭建3层开发架构并且完成了一个增加的案例。


 


 

 


你可能感兴趣的:(Hibernate,Spring,JSP(Java,Server,Page),spring,mvc)