返回顶部
首页 > 资讯 > 精选 >MyEclipse下Spring、Hibernate、Struts如何结合
  • 375
分享到

MyEclipse下Spring、Hibernate、Struts如何结合

2023-06-03 08:06:43 375人浏览 安东尼
摘要

这篇文章给大家分享的是有关MyEclipse下spring、Hibernate、Struts如何结合的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据库准备:数据库名称:AT_SMS表名称:admin字段如下:s

这篇文章给大家分享的是有关MyEclipse下spring、Hibernate、Struts如何结合的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

数据库准备:
数据库名称:AT_SMS
表名称:admin
字段如下:
sid bigint 从1开始自动增加,步长为1,单独做表的主键name varchar(50)
passWord varchar(50)

开发软件准备:Eclipse 3.1
MyEclipse Enterprise Workbench v4.1.1 GA
jdk1.4.2
Spring1.2[MyEclipse自带的]
Hibernate3.0[MyEclipse自带的]

步骤:
1、设定自己的WorkSpace[D:Eclipse3.1MyWorkspace];

建立普通Java工程[不是MyEclipse WEB工程]MyProject[D:Eclipse3.1MyWorkspaceMyProject;

2A、配置数据库连接备用。东东在Window->Open Perspective->My Eclipse Database Explore下。在左边空白框点右键选择New,弹出框后填写Profile name:MyTestDB;驱动点Configure database driver去配置,其它的看着填,不想看到所以数据库就在第二步选择Display the selected schemas,点按钮Add时会自动连接数据库显示所有的数据,选择你想看到的,在这我们选择AT_SMS,点finish完成了。

添加Spring相关东西[点击菜单MyEclipse->Add SPring Capabilities...][注意:把光标停在工程根目录才能添加,不然是灰灰的];弹出窗口默认选中Spring1.2 Core包,把Spring1.2 ORM/DAO/Hibernate3选中,把Spring1.2 aop,Spring1.2 Testing都选中[省得测试时候遇到找不到jar再去导入],next,创建一个src目录存放配置文件,finish。

添加Hibernate相关东西,注意根Spring关联起来,数据库连接选择之前创建的MyTestDB即可,Dialect默认是Sysbase,我用SQL Server,所以要改过来;Hibernate的bean ID设成跟Spring的一样,结果配置文件提示ID不唯一,哈哈,那就清除Hiebernate相关的东西先,这还有些麻烦,首先要切换到MyEclipse J2EE Development[如果没有这个可能是你的工作区没有这种工程,去创建一个MyEclipseJ2EE工程],接着把工程视图从PackageExplorer切换到Navigator,删除文件名带Hibernate字样的文件,打开.project文件,删除里头关于Hibernate的一个buildCommand,和一个nature.Ok了,可以重新添加Hibernate相关的东西.[注意:SessionFactory就是Spring用来关联Hibernate的那Bean的ID我填SessionFactory,填写数据库参数时的那个BeanID就是数据源名称,我填dataSource]

接下来产生Hibernate映射,将视图切换到MyEclipse Database Explorer,点右键打开连接,选择你要产生Java代码的表,我们在这选择admin,弹出窗口发现会默认带出一些参数,由于这个DB连接不是属于单个工程的是个全局的东东,默认参数可能不是你想要的,不管那么多你选择Java src folder到你当前工程的src目录,这就与你的工程关联起来了,参数也跟着变了,Java package设为com.kama.hibernate,选中产生Spring DAO;其它默认,表的主键产生要设置一些,选中表名,在ID Generator选择native;就这样了。

让Spring管理数据库事务,在配置文件applicationContext.xml中添加内容:
   
       
           
       

   


       
           
       

       
           
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
           

       


   <bean id="autoProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
       
           
               baseTransactionProxy
           

       

       
           *DAO
       

   

事务中,必须是接口调用,具体原因请看其它资料,现在我们增加接口:AdoInterface,在其中定义方法:public void save(Object transientInstance);[用Object做参数类型是为了让所有DAO类共用这个接口];

AdminDAO中增加实现接口AdoInterface,修改其save方法的声明,public void save(Object transientInstance)

测试方法一,写如下代码来测试:
  ApplicationContext ctx = new ClassPathXmlApplicationContext(
  "applicationContext.xml");
  AdoInterface dao = (AdoInterface) ctx.getBean("AdminDAO");
 
 System.out.println(dao.toString());  
 Admin admin = new Admin();
 admin.setName("Kama");
 admin.setPassword("123456");  
 dao.save(admin);
 System.out.println("--测试完毕--");
  看到插入的记录了吧!

测试方法二:在工程属性的JAVA Builder path->Libraries里头设置导入D:MyEclipseeclipsepluginscom.genuitec.eclipse.springframework_4.1.1data1.2libspring-mock.jar
产生测试类继承org.springframework.test.AbstractTransactionalSprinGContextTests;修改:
protected String[] getConfigLocations() {
 return new String[]
             { "/applicationContext.xml" };
}
增加:
private AdoInterface adminDAO;
public void setAdminDAO(AdoInterface adminDAO)
{
 this.adminDAO = adminDAO;
}

public void testSave()
{
 this.setComplete();//想将数据插入数据库就保留这个,不想插入数据库,去掉这句Junit测试会自动回滚。
 Admin admin = new Admin();
 admin.setName("KamaSupport");
 admin.setPassword("123456");
 this.adminDAO.save(admin);
}
以Junit形式运行测试程序。大功告成!

附录A:applicationContext.xml



 
 net.sourceforge.jtds.jdbc.Driver
 

 
 jdbc:jtds:sqlserver://127.0.0.1:3344/AT_SMS;SelectMethod=cursor
 

 
 sa
 

 
 123456
 



   
       
           
       

   


       
           
       

       
           
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED,readOnly
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
               PROPAGATION_REQUIRED
           

       


   <bean id="autoProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
       
           
               baseTransactionProxy
           

       

       
           *DAO
       

   


 
 
 

 
 
   org.hibernate.dialect.SQLServerDialect
 

 

 
 
   com/kama/hibernate/Admin.hbm.xml
 

 



 
 
 


附录B:log4j.properties
log4j.rootLogger=INFO,default
log4j.logger.org=ERROR
log4j.logger.com.comp=ERROR
log4j.logger.net.sf.hibernate=ERROR
log4j.logger.net.sf.hibernate.SQL=ERROR
log4j.logger.net.sf.hibernate.type=ERROR
log4j.logger.net.sf.ehcache=ERROR
log4j.logger.org.springframework=ERROR

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}:[%p]  [%t] %r   %l %m%n

log4j.appender.default=org.apache.log4j.RollingFileAppender
log4j.appender.default.Threshold=DEBUG
log4j.appender.default.File=kama.log
log4j.appender.default.Append=true
log4j.appender.default.MaxFileSize=1000KB
log4j.appender.default.MaxBackupIndex=3
log4j.appender.default.layout=org.apache.log4j.PatternLayout
log4j.appender.default.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}:[%p]  [%t] %r   %l %m%n

[@more@]1、在struts-config.xml中增加:


 

修改Struts的Action映射:

attribute="addAdminForm"
     input="/form/addAdmin.jsp"
     name="addAdminForm"
     path="/addAdmin"
     scope="request"
     type="org.springframework.web.struts.DelegatingActionProxy">
     <forward
name="success"
       path="/form/success.jsp"
       redirect="true" />
   

就是将type改成Spring的代理类了,原来的Action类要到Spring的配置文件里头去配置。

Struts配置文件修改完毕!

在Spring配置文件中配置path="/addAdmin"对应的bean


 
 
 

class:Struts的ActionBean

property:由Spring产生的DAO,这个属性要在com.kama.struts.action.AddAdminAction中定义,并且要定义Setter方法。

在Action中使用DAO:

定义DAO属性:

private AdoInterface dao;

定义Setter,Getter方法:

public AdoInterface getDao()
{
 return dao;
}

public void setDao(AdoInterface dao)
{
 this.dao = dao;
}

调用DAO:

public ActionForward execute(  
 ActionMapping mapping,
 ActionForm form,
 httpservletRequest request,
 HttpServletResponse response) {
 AddAdminForm addAdminForm = (AddAdminForm) form;
 Admin id = new Admin();
 id.setName(addAdminForm.getName());
 id.setPassword(addAdminForm.getPassword());  
 dao.save(id);  
 return mapping.findForward("success");
}

OK,完成了!

注意:部署的时候将spring-web.jar包部署到lib目录下,不然刚才在Struts配置文件里头增加的那几个Class找不到会出现莫名的错误!

感谢各位的阅读!关于“MyEclipse下Spring、Hibernate、Struts如何结合”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: MyEclipse下Spring、Hibernate、Struts如何结合

本文链接: https://lsjlt.com/news/233705.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MyEclipse下Spring、Hibernate、Struts如何结合
    这篇文章给大家分享的是有关MyEclipse下Spring、Hibernate、Struts如何结合的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据库准备:数据库名称:AT_SMS表名称:admin字段如下:s...
    99+
    2023-06-03
  • Struts+Hibernate+Spring如何组合使用
    这篇文章给大家分享的是有关Struts+Hibernate+Spring如何组合使用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。其实对于S2SH的组合,其实注意几点就可以了:第一: 由于Struts2的Acti...
    99+
    2023-06-17
  • Spring 结合 Hibernate
    applicationContext.xml 文件:<xml version="1.0" encoding="UTF-8"> <beans xmlns="http://www.springframew...
    99+
    2023-01-31
    Spring Hibernate
  • 怎么对struts、spring与hibernate进行整合
    怎么对struts、spring与hibernate进行整合?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。准备三个框架结合的lib包Spring3结合Struts2的步骤如下:...
    99+
    2023-05-31
    struts hibernate spring
  • spring怎么与struts结合使用
    这期内容当中小编将会给大家带来有关spring怎么与struts结合使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Struts调用流程如下图所示。       ...
    99+
    2023-05-31
    spring struts
  • spring结合hibernate示例详解
    单纯Hibernate程序首先是导入hibernate的jar包。 建立用户和用户操作记录实体,Log.Java和User.java。代码如下所示。Log.javaimport java.util.Date; public cla...
    99+
    2023-05-31
    spring hibernate te
  • Debian下如何安装Myeclipse
    这篇文章主要讲解了“Debian下如何安装Myeclipse”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Debian下如何安装Myeclipse”吧!eclipse-SDK-3.2-lin...
    99+
    2023-06-03
  • Spring+JPA如何集成Hibernate
    这篇文章主要介绍Spring+JPA如何集成Hibernate,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.JPA简介 Java Persistence API (JP...
    99+
    2024-04-02
  • Python 和 Spring 如何结合使用?
    Python 和 Spring 是两个不同的编程语言和框架,它们分别用于不同的用途。Python 是一种高级编程语言,它被广泛应用于数据科学、机器学习、Web 开发等领域。Spring 是一种 Java 框架,它为企业级应用程序提供了一种...
    99+
    2023-06-27
    spring apache django
  • ASP和Spring如何结合使用?
    ASP和Spring是两个不同的框架,ASP是一种微软公司开发的服务器端脚本语言,而Spring是一种Java开源框架。它们各自有自己的优点和特点,但是如果能够结合使用,可以实现更加强大的功能。 在本文中,我们将介绍ASP和Spring如...
    99+
    2023-06-04
    spring 函数 bash
  • 如何使用MyEclipse整合SSH模式
    本篇内容介绍了“如何使用MyEclipse整合SSH模式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ssh(struts、spring、h...
    99+
    2023-06-18
  • 如何使用Spring更好地处理Struts 动作
    这篇文章主要介绍了如何使用Spring更好地处理Struts 动作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Struts Recipes 的合著者 George Fran...
    99+
    2023-06-03
  • 如何进行spring hibernate的集成
    如何进行spring hibernate的集成,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Hibernate有很多值得学习的地方,这里主要介绍Spring H...
    99+
    2023-06-17
  • NumPy和Spring:如何将它们结合使用?
    NumPy是一种用于科学计算的Python扩展库,而Spring则是Java应用程序开发的开源框架。这两个工具都拥有各自的优势和功能,将它们结合使用可以实现更加高效和强大的数据处理和应用程序开发。 在本文中,我们将介绍如何将NumPy和Sp...
    99+
    2023-09-26
    api numpy spring
  • Linux下find与exec如何结合使用
    这篇文章主要为大家展示了“Linux下find与exec如何结合使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下find与exec如何结合使用”这篇文章吧。在Linux下工作,fi...
    99+
    2023-06-15
  • Spring 如何结合Redis数据库实现缓存
    这篇文章将为大家详细讲解有关 Spring 如何结合Redis数据库实现缓存,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 依赖包安装pom.xml 加入:<!-- redis c...
    99+
    2023-05-31
    spring redis 缓存
  • ASP和Spring如何结合?学习笔记分享!
    ASP和Spring是两种常见的Web开发框架,ASP是微软公司推出的一种动态Web开发框架,而Spring是Java开发中的重要框架之一。结合这两种框架可以使开发者更加高效地进行Web开发。本文将介绍ASP和Spring如何结合,同时提供...
    99+
    2023-11-14
    spring 学习笔记 http
  • 如何使用Spring注入Hibernate验证框架
    本篇内容介绍了“如何使用Spring注入Hibernate验证框架”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Spring注入Hibern...
    99+
    2023-06-21
  • Python与Spring的完美结合:如何使用数组?
    在软件开发中,数组是一种非常常见的数据结构,它可以用来存储一组相同类型的数据。Python和Spring分别是两种非常流行的编程语言和框架,那么如何在这两者之间实现完美的结合,以便更好地使用数组呢?本文将为您介绍Python和Spring...
    99+
    2023-06-20
    spring 数组 教程
  • 如何理解Spring的Hibernate事务管理机制
    如何理解Spring的Hibernate事务管理机制,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。主要讲了Spring 声明式事务让我们从复杂的Hibernate事务处理中...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作