SpringMVC+Spring+MyBatis整合完整版Web实例(附数据)

  • 内容
  • 评论
  • 相关

最近段时间正在学习Spring MVC和MyBatis的一些知识。自己也在网络上面找了一些例子来练习。但是都不是很完整。所以,今天,自己也抽空写了个完成的关于Spring MVC + Spring + MyBatis(简称 SSM)的一个CRUD的完整Web 演示例子。如果你也是刚好学习这几个框架的新手,或许我做的这个例子对你刚好有所帮助哦!

演示工程的目录结构

演示工程的目录结构

添加数据页面

添加数据页面

修改数据的页面

修改数据的页面

查询出的数据列表

查询出的数据列表

下面来说下这个演示的小例子。首先,我是使用MyEclipse工具做的这个例子,整合了Sping 3 、Spring MVC 3 、MyBatis框架,演示数据库采用MySQL数据库。例子中主要操作包括对数据的添加(C)、查找(R)、更新(U)、删除(D)。我在这里采用的数据库连接池是来自阿里巴巴的Druid,至于Druid的强大之处,我在这里就不做过多的解释了,有兴趣的朋友们可以去网上谷歌或者百度一下哦!好了下面我就贴上这次这个演示例子的关键代码:

BaseController

Service的实现

Mapper

以上就是几个关键位置的代码,我全部贴出来了。至于配置文件什么的,由于时间原因没有贴出。如果大家要是感兴趣的话,可以下载我的这个演示项目包,里面的东西都齐全着,导入到MyEclipse上面直接部署到服务器上面就可以运行。数据库就是里面的那个.sql文件。建个库然后将数据导入就是。哦,对了。导完数据后,记得别忘了到config.properties里面去把数据库的连接信息换成你自己哦!

本次演示例子源码完整下载:http://pan.baidu.com/s/1jDA2q(百度网盘)

假如百度云分享链接失效,请联系站长,我会补上的。

好了。到这里为止,关于 SSM框架整合的一个CRUD的完整Web例子到此就结束了。如果你在阅读代码的时候有什么疑惑或者不懂,欢迎和我探讨哦!

评论

111条评论
  1. Gravatar 头像

    阳光demo 回复

    大神,你写的这个例子很好。我初学Spring+SpringMVC,有很多地方不懂,想请教下大神、能不能加qq聊啊?1129919550

    • Gravatar 头像

      baikeyang 回复

      @阳光demo 大神?我也是一个刚刚入门SpringMvc的新手,只是分享了一些自己的经验罢了。欢迎共同探讨、分享哦。

      • Gravatar 头像

        番茄 回复

        @baikeyang 大神,发一份给我吧,我下载不了

        • Gravatar 头像

          baikeyang 回复

          @番茄 亲,你发送程序源码附件到你的QQ邮箱,请注意查收。有什么问题,可以直接邮件回复我哦!

      • Gravatar 头像

        石头 回复

        @baikeyang 我的老是跑不起来,不知道怎么了,能加下QQ吗?1051279449

        • Gravatar 头像

          baikeyang 回复

          @石头 如果需要联系我的话可以根据【与我有关】栏目中的联系方式 联系到我哦~ 同时,谢谢你的来访~

    • Gravatar 头像

      java_zhang 回复

      @阳光demo 你的QQ号是多少,请加我:290914896

      • Gravatar 头像

        baikeyang 回复

        @java_zhang 如果需要联系我的话可以根据【与我有关】栏目中的联系方式 联系到我哦~ 同时,谢谢你的来访~

  2. Gravatar 头像

    Rey 回复

    博主,您好,我运行您的示例,出现了Context配置初始化运行失败,想请教一下。QQ:363610752,谢谢。

    • Gravatar 头像

      baikeyang 回复

      @Rey 我已经加了你的QQ了。

  3. Gravatar 头像

    风之羽翼 回复

    亲 我照着弄,结果springmvc+mybatis框架还是没能起来 你能发一份源码demo给我么 我的是myeclipse8.5 QQ邮箱310983117

    • Gravatar 头像

      baikeyang 回复

      @风之羽翼 OK ,好的。源码在百度网盘上面是有的啊!地址我也写的有。你可以到百度网盘上面去下载的。如果不能下载的话,可以即使的告知我,以便于更换文件源哦!

  4. Gravatar 头像

    叶枫 回复

    我现在正要学习一下 springmvc spring mybatis三者的集成,系统楼主能把这个例子能发一份到邮箱 yly130727@163.com 谢谢 😛

    • Gravatar 头像

      baikeyang 回复

      @叶枫 朋友,源码在百度网盘上面是有的啊!地址我也写的有。你可以到百度网盘上面去下载的。如果文件不能下载的话,可以及时的告知我,以便于更换文件源哦!

        • Gravatar 头像

          baikeyang 回复

          @xzl1991 如果需要联系我,可以根据【与我有关】栏目中的联系方式 联系到我哦~ 同时,谢谢你的来访~

  5. Gravatar 头像

    冰尘 回复

    大神求救,帮我也发邮箱一份呗,万分感谢,842610411@qq.com,跪求能运行,带数据库的

    • Gravatar 头像

      baikeyang 回复

      @冰尘 朋友,源码在百度网盘上面是有的啊!地址我也写的有。你可以到百度网盘上面去下载的。如果文件不能下载的话,可以及时的告知我,以便于更换文件源哦!

  6. Gravatar 头像

    求源码 回复

    求源码哦

    • Gravatar 头像

      baikeyang 回复

      @求源码 朋友,源码在百度网盘上面呢,你可以网盘下载(http://pan.baidu.com/s/1jDA2q)的哟~!如果不能下载的话,可以及时的告知我,以便于更换文件源哦!

  7. Gravatar 头像

    孙悟饭 回复

    感谢楼主分享,现在正在学ssm ,一般管理系统代码看不懂,您发的代码正适合我 😛

    • Gravatar 头像

      baikeyang 回复

      @孙悟饭 不客气,希望对你能有帮助。谢谢你的来访~

  8. Gravatar 头像

    一朵奇葩 回复

    大神请问代码里面AddMapper接口是如何通过AddMapper.xml实现的啊?这是基于什么原理

    • Gravatar 头像

      baikeyang 回复

      @一朵奇葩 朋友,这个是Mybatis的机制,它的Dao实现就是靠AddMapper中我们写的sql和一些表达式来实现的。至于底层的实现和原理,建议你空的时候可以阅读下源码,主要会对你的理解能起到很好的帮助。

  9. Gravatar 头像

    东霞 回复

    什么时候讲讲原理啥的呀?能运行,可是不明白怎么回事啊。。。。

    • Gravatar 头像

      baikeyang 回复

      @东霞 朋友,我对这个也不是很深入。如果要想知道他的具体原理,我建议你空的时候可以去阅读下这些框架的源码,对你的理解有很好的帮助哟~

  10. Gravatar 头像

    谢谢 楼主 回复

    真心表示感谢。

  11. Gravatar 头像

    潘潘 回复

    我运行报异常,不知道怎么回事,我是刚接触的新手,求指教,QQ:747177410

    • Gravatar 头像

      baikeyang 回复

      @潘潘 朋友,你可以将你的异常信息以附件形式发送与我。我帮你看看是什么问题。

  12. Gravatar 头像

    long 回复

    亲 发我一份吧

    • Gravatar 头像

      baikeyang 回复

      @long 朋友,源码在百度网盘上面呢,你可以网盘下载(http://pan.baidu.com/s/1jDA2q)的哟~!如果不能下载的话,可以及时的告知我,以便于更换文件源哦!

  13. Gravatar 头像

    tianchunyong 回复

    准备换工作 ,学习一下

    • Gravatar 头像

      baikeyang 回复

      @tianchunyong 嗯,共同学习,共同进步。谢谢你的来访~

  14. Gravatar 头像

    天堂鸟 回复

    亲 发我一份吧 QQ:44624860

    • Gravatar 头像

      baikeyang 回复

      @天堂鸟 朋友,源码在百度网盘上面呢,你可以网盘下载(http://pan.baidu.com/s/1jDA2q)的哟~!如果不能下载的话,可以及时的告知我,以便于更换文件源哦!

    • Gravatar 头像

      baikeyang 回复

      @taylor 朋友,源码在百度网盘上面呢,你可以网盘下载(http://pan.baidu.com/s/1jDA2q)的哟~!如果不能下载的话,可以及时的告知我,以便于更换文件源哦!

  15. Gravatar 头像

    绝世狂爷 回复

    😛

  16. Gravatar 头像

    绝世狂爷 回复

    哎呦,不错哦

  17. Gravatar 头像

    dsa 回复

    😛

    • Gravatar 头像

      baikeyang 回复

      @dsa 谢谢你的来访~

  18. Gravatar 头像

    dsa 回复

    我的一直是404

    • Gravatar 头像

      baikeyang 回复

      @dsa 你好。可以把你的异常信息以附件的形式Email给我么?我帮你看看是什么问题。

  19. Gravatar 头像

    沈宏亮 回复

    我下载了你的例子,很想关闭了这个页面,可是我点了播放音乐,又不想重新找歌听...

  20. Gravatar 头像

    江南的雨 回复

    楼主,下载下来后没看到那个.sql文件呀,请问放在哪儿呢?

    • Gravatar 头像

      baikeyang 回复

      @江南的雨 你好,建个数据库,将sql导入到数据库即可。

  21. Gravatar 头像

    Archer 回复

    😯 你好,我是是初学者,代码部署上去之后一直报上下文初始化异常。。 能解决么

    • Gravatar 头像

      baikeyang 回复

      @Archer 你好,你可以将你的异常信息 已附件形式Email给我哟。

  22. Gravatar 头像

    Archer 回复

    对惹 我的扣扣是 963920633 。。 谢谢

    • Gravatar 头像

      baikeyang 回复

      @Archer 如果需要联系我的话可以根据【与我有关】栏目中的联系方式 联系到我哦~ 同时,谢谢你的来访~

  23. Gravatar 头像

    小男孩 回复

    609742011,QQ我的,LZ,新手跪求指教

    • Gravatar 头像

      baikeyang 回复

      @小男孩 如果需要联系我的话可以根据【与我有关】栏目中的联系方式 联系到我哦~ 同时,谢谢你的来访~

  24. Gravatar 头像

    石头 回复

    大神我的跑不起来,求指教,QQ:1051279449

    • Gravatar 头像

      baikeyang 回复

      @石头 如果需要联系我的话可以根据【与我有关】栏目中的联系方式 联系到我哦~ 同时,谢谢你的来访~

  25. Gravatar 头像

    新手 回复

    大神,我下载了你的代码,原样不懂放大MyEclipse上运行,可是一直在报找不到Cannot find class: BaseResultMap,求指教

    • Gravatar 头像

      baikeyang 回复

      @新手 没有找到这个类。将项目Clean后在重新编辑几次就好了。

  26. Gravatar 头像

    lcl 回复

    用了代码就应该 说声谢谢 .......感谢 无私的奉献 有容乃大 楼主 加油 😛 😛 😛 😛

    • Gravatar 头像

      baikeyang 回复

      @lcl 不客气~ 谢谢你的来访~

  27. Gravatar 头像

    bluebang 回复

    你好,刚接触这个,我想知道如果是sql里面的虚拟列该用怎样的方式查呢?很多时候我都是一个sql搞定,里面又是联合又是子查询的。没有通用的查询吗?比如entitiy en=new Entity(sql),en.getStringvlaue("par")这样直接从查询的结果集里面取,能实现吗?老是要映射实体太麻烦,不适合敏捷开发啊。难道是我还不了解,请教。 😯

    • Gravatar 头像

      baikeyang 回复

      @bluebang 这个只是一个基本实现增删改查的Demo。如果是需要通用的查询的方法,你可以自己提取一个通用的接口 或者 方法 即可。通常在生产环境中确实是需要很多通用的查询方式来解决此问题的。我在现实开发中就是这么做的。

  28. Gravatar 头像

    等离子带花奶油蛋糕 回复

    多谢博主,源码写的很清晰

  29. Gravatar 头像

    泡泡 回复

    你的代码缺少dao的实现部分。

    • Gravatar 头像

      baikeyang 回复

      @泡泡 朋友,这个Dao 的是实现在Mybatis的**Mapper.xml中实现的,Dao接口中的方法必须和**Mapper.xml的方法一一对应才行,这里头的这些就是对接口的实现。具体的一些知识你可以查看Mybatis的一些文档。

  30. Gravatar 头像

    hh 回复

    楼主威武

    • Gravatar 头像

      baikeyang 回复

      @hh 谢谢你的来访~

  31. Gravatar 头像

    NemoVisky 回复

    老是爆这个错误啊
    java.lang.IllegalArgumentException
    at org.springframework.asm.ClassReader.(Unknown Source)

    • Gravatar 头像

      新人 回复

      @NemoVisky 我在idea里运行,也是报了一个跟你同样的错

      java.lang.IllegalArgumentException
      at org.springframework.asm.ClassReader.(Unknown Source)

      • Gravatar 头像

        baikeyang 回复

        @新人 遇到这个问题,你可以试着切换下你的JDK版本试试看。如果根据我说的办法没有解决此问题,可以根据【与我有关】栏目中的联系方式 联系到我哦~

    • Gravatar 头像

      baikeyang 回复

      @NemoVisky 遇到这个问题,你可以试着切换下你的JDK版本试试看。如果根据我说的办法没有解决此问题,可以根据【与我有关】栏目中的联系方式 联系到我哦~

  32. Gravatar 头像

    好人 回复

    这个如果要增加几个模块需要怎么改配置文件,搞了很久一直报错

    • Gravatar 头像

      baikeyang 回复

      @好人 按照我的那个例子,加一个模块就需要响应加相应的Controller 、Service 和 Dao(Dao不是必加项),加完后,配置文件不需要做修改的。那个是只要是你放在指定的目录中 项目一旦启动就会自动去扫描的。

  33. Gravatar 头像

    好小子 回复

    很好,太感谢了,

  34. Gravatar 头像

    程序员 回复

    为什么我参照你的做法做了一个小项目,就报org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myMessageService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void message.service.impl.MyMessageServiceImpl.setMyMessageMapper(message.dao.MyMessageMapper); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [message.dao.MyMessageMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}

    • Gravatar 头像

      baikeyang 回复

      @程序员 这个问题可能是由于你的 Service 的问题。在Service 中 注入 MyMessageMapper的时候报错了。你可以检查下你的注解是否正确。如果有什么不明白的地方,可以根据【与我有关】栏目中的联系方式 联系到我哦,一起学习进步哦~

  35. Gravatar 头像

    wshenyang 回复

    多谢分享!!!!

    • Gravatar 头像

      baikeyang 回复

      @wshenyang 不客气。谢谢你的来访~

  36. Gravatar 头像

    Mason 回复

    您好啊。。我运行报下面的错。。。如果不麻烦你的话可否加我的qq。.。605616041。。。先谢谢了。。。
    -------------------------------------------------------------
    type Status report

    message /ssm/add.jsp

    description The requested resource is not available.
    ------------------------------------------------------------

    • Gravatar 头像

      baikeyang 回复

      @Mason 这个,你可以看下 项目中这个JSP是否存在,如果存在,在查看访问路径是否正确。如果还有什么不明白的地方,可以根据【与我有关】栏目中的联系方式 联系到我哦~

  37. Gravatar 头像

    许愿 回复

    数据库怎么连接起来,还是不太熟悉

    • Gravatar 头像

      baikeyang 回复

      @许愿 连接数据库的 是一个config的配置文件。你可以修改里面的连接地址,把里面的地址改成你自己的地址即可连接数据库。

  38. Gravatar 头像

    许愿 回复

    MD,我的评论怎么不回复啊??博主,不公平

    • Gravatar 头像

      baikeyang 回复

      @许愿 额,这个我前阵子因为工作的事比较忙,所以没有即使回复你的留言。在此对朋友深深的致歉。真的很抱歉了。如果要联系我,可以在【与我有关】栏目中的联系方式 联系到我哦~

  39. Gravatar 头像

    21312 回复

    可以运行,很好 不错 ,只是有个问题要问一下 session拦截器 怎么配置呢

    • Gravatar 头像

      baikeyang 回复

      @21312 关于这个问题,你可以自己定义个拦截器用来拦截Session,这个的话,你可以在网上搜索,网上关于这个问题的解决方式 也是很多的。你可以试试哦。

  40. Gravatar 头像

    chen 回复

    大神,我是新手求指导 QQ 2893087020

    • Gravatar 头像

      baikeyang 回复

      @chen 如果需要联系我,可以在【与我有关】栏目中的联系方式 联系到我哦~ 同时,谢谢你的来访~

  41. Gravatar 头像

    小年轻 回复

    运行不起来 加我扣扣 291571647 谢谢 大神

    • Gravatar 头像

      baikeyang 回复

      @小年轻 你好,你可以根据 菜单【与我有关】 中的联系方式联系我哟!里面有QQ 等 其他联系方式。或者直接给我发邮件,将错误信息 已附件的形式发送给我即可。我收到后会立即给你回复的哟。

  42. Gravatar 头像

    2077 回复

    初学 ssm ,跪求楼组发下源码,谢谢

    • Gravatar 头像

      baikeyang 回复

      @2077 朋友,源码在百度网盘上面呢,你可以网盘下载(http://pan.baidu.com/s/1jDA2q)的哟~!如果不能下载的话,可以及时的告知我,以便于更换文件源哦!

  43. Gravatar 头像

    回复

    就是请问一下,有没有直接封装一套增删改查的方法,不同的controller都能调用,传参,可以吗,

    • Gravatar 头像

      baikeyang 回复

      @刘 朋友,你可以讲的具体点么?“不同的controller都能调用?”比如……
      controller都是可以在传递参数和接受参数的。

  44. Gravatar 头像

    纵然 回复

    😛 可以留个联系方式吗。。

    • Gravatar 头像

      BaiKeyang 回复

      @纵然 你好。可以的。我的联系方式就是右栏的那些信息哟~
      E-mail:baikeyang@vip.qq.com
      QQ:295273987

  45. Gravatar 头像

    syx 回复

    下载不了

    • Gravatar 头像

      BaiKeyang 回复

      @syx 朋友,你可以多试几次。下载不了可能是因为网络不稳定导致的。试试用云盘客户端下载会好些(说明:不是在打广告)。下载前先将资源保存到你自己的网盘后再去点击下载,这样下载应该就没什么问题了。

  46. Gravatar 头像

    gh 回复

    求加个Q,有问题就请教你!!!我的Q:154322307

    • Gravatar 头像

      BaiKeyang 回复

      @gh 我的联系方式在 【有关与我】栏目中哟~~~~~

  47. Gravatar 头像

    fish_up 回复

    非常感谢楼主的分享,很有帮助

  48. Gravatar 头像

    哈哈 回复

    😛 😛 不错,帮顶

  49. Gravatar 头像

    可可 回复

    百度网盘 下载不了啊!楼主能发到邮箱吗?945246317@qq.com

  50. Gravatar 头像

    helooworld 回复

    java框架生成,www点javacoder点top,希望各位coder受益

  51. Gravatar 头像

    qq:532055389 回复

    The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files
    报这个错,请问楼主如何处理?

发表评论

电子邮件地址不会被公开。 必填项已用*标注