A-A+

SpringMVC+Spring+MyBatis整合完整版Web实例

2015年02月02日 Server 评论 280 条 阅读 16,086 次
server category

最近段时间正在学习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

  1. package com.bky.controller;
  2. import java.util.List;
  3. import java.util.UUID;
  4. import javax.servlet.http.HttpServletRequest;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import com.bky.model.Add;
  9. import com.bky.service.BaseService;
  10. @Controller
  11. public class BaseController {
  12.     private BaseService baseService;
  13.     public BaseService getBaseService() {
  14.         return baseService;
  15.     }
  16.     @Autowired
  17.     public void setBaseService(BaseService baseService) {
  18.         this.baseService = baseService;
  19.     }
  20.     @SuppressWarnings("finally")
  21.     @RequestMapping("addInfo")
  22.     public String add(Add add,HttpServletRequest request){
  23.         try {
  24.             add.setId(UUID.randomUUID().toString());
  25.             System.out.println(add.getId() + ":::::" + add.getTname() + ":::::" + add.getTpwd());
  26.             String str = baseService.addInfo(add);
  27.             System.out.println(str);
  28.             request.setAttribute("InfoMessage", str);
  29.         } catch (Exception e) {
  30.             e.printStackTrace();
  31.             request.setAttribute("InfoMessage""添加信息失败!具体异常信息:" + e.getMessage());
  32.         } finally {
  33.             return "result";
  34.         }
  35.     }
  36.     @RequestMapping("getAll")
  37.     public String getAddInfoAll(HttpServletRequest request){
  38.         try {
  39.             List<Add> list = baseService.getAll();
  40.             System.out.println(list);
  41.             request.setAttribute("addLists", list);
  42.             return "listAll";
  43.         } catch (Exception e) {
  44.             e.printStackTrace();
  45.             request.setAttribute("InfoMessage""信息载入失败!具体异常信息:" + e.getMessage());
  46.             return "result";
  47.         }
  48.     }
  49.     @SuppressWarnings("finally")
  50.     @RequestMapping("del")
  51.     public String del(String tid,HttpServletRequest request){
  52.         try {
  53.             String str = baseService.delete(tid);
  54.             request.setAttribute("InfoMessage", str);
  55.         } catch (Exception e) {
  56.             e.printStackTrace();
  57.             request.setAttribute("InfoMessage""删除信息失败!具体异常信息:" + e.getMessage());
  58.         } finally {
  59.             return "result";
  60.         }
  61.     }
  62.     @RequestMapping("modify")
  63.     public String modify(String tid,HttpServletRequest request){
  64.         try {
  65.             Add add = baseService.findById(tid);
  66.             request.setAttribute("add", add);
  67.             return "modify";
  68.         } catch (Exception e) {
  69.             e.printStackTrace();
  70.             request.setAttribute("InfoMessage""信息载入失败!具体异常信息:" + e.getMessage());
  71.             return "result";
  72.         }
  73.     }
  74.     @SuppressWarnings("finally")
  75.     @RequestMapping("update")
  76.     public String update(Add add,HttpServletRequest request){
  77.         try {
  78.             String str = baseService.update(add);
  79.             request.setAttribute("InfoMessage", str);
  80.         } catch (Exception e) {
  81.             e.printStackTrace();
  82.             request.setAttribute("InfoMessage""更新信息失败!具体异常信息:" + e.getMessage());
  83.         } finally {
  84.             return "result";
  85.         }
  86.     }
  87. }

Service的实现

  1. package com.bky.service.impl;
  2. import java.util.List;
  3. import java.util.UUID;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Service;
  6. import com.bky.dao.AddMapper;
  7. import com.bky.model.Add;
  8. import com.bky.service.BaseService;
  9. @Service("baseService")
  10. public class BaseServiceImpl implements BaseService {
  11.     private AddMapper addMapper;
  12.     public AddMapper getAddMapper() {
  13.         return addMapper;
  14.     }
  15.     @Autowired
  16.     public void setAddMapper(AddMapper addMapper) {
  17.         this.addMapper = addMapper;
  18.     }
  19.     @Override
  20.     public String addInfo(Add addInfo) {
  21.         if (addMapper.insertSelective(addInfo) == 1) {
  22.             return "添加成功";
  23.         }
  24.         return "添加失败";
  25.     }
  26.     @Override
  27.     public List<Add> getAll() {
  28.         return addMapper.getAll();
  29.     }
  30.     @Override
  31.     public String delete(String id) {
  32.         if (addMapper.deleteByPrimaryKey(id) == 1) {
  33.             return "删除成功";
  34.         }
  35.         return "删除失败";
  36.     }
  37.     @Override
  38.     public Add findById(String id) {
  39.         return addMapper.selectByPrimaryKey(id);
  40.     }
  41.     @Override
  42.     public String update(Add addInfo) {
  43.         if (addMapper.updateByPrimaryKeySelective(addInfo) == 1) {
  44.             return "更新成功";
  45.         }
  46.         return "更新失败";
  47.     }
  48. }

Mapper

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="com.bky.dao.AddMapper" >
  4.   <resultMap id="BaseResultMap" type="com.bky.model.Add" >
  5.     <id column="id" property="id" jdbcType="VARCHAR" />
  6.     <result column="tname" property="tname" jdbcType="VARCHAR" />
  7.     <result column="tpwd" property="tpwd" jdbcType="VARCHAR" />
  8.   </resultMap>
  9.   <sql id="Base_Column_List" >
  10.     id, tname, tpwd
  11.   </sql>
  12.   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
  13.     select
  14.     <include refid="Base_Column_List" />
  15.     from tadd
  16.     where id = #{id,jdbcType=VARCHAR}
  17.   </select>
  18.   <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
  19.     delete from tadd
  20.     where id = #{id,jdbcType=VARCHAR}
  21.   </delete>
  22.   <insert id="insert" parameterType="com.bky.model.Add" >
  23.     insert into tadd (id, tname, tpwd
  24.       )
  25.     values (#{id,jdbcType=VARCHAR}, #{tname,jdbcType=VARCHAR}, #{tpwd,jdbcType=VARCHAR}
  26.       )
  27.   </insert>
  28.   <insert id="insertSelective" parameterType="com.bky.model.Add" >
  29.     insert into tadd
  30.     <trim prefix="(" suffix=")" suffixOverrides="," >
  31.       <if test="id != null" >
  32.         id,
  33.       </if>
  34.       <if test="tname != null" >
  35.         tname,
  36.       </if>
  37.       <if test="tpwd != null" >
  38.         tpwd,
  39.       </if>
  40.     </trim>
  41.     <trim prefix="values (" suffix=")" suffixOverrides="," >
  42.       <if test="id != null" >
  43.         #{id,jdbcType=VARCHAR},
  44.       </if>
  45.       <if test="tname != null" >
  46.         #{tname,jdbcType=VARCHAR},
  47.       </if>
  48.       <if test="tpwd != null" >
  49.         #{tpwd,jdbcType=VARCHAR},
  50.       </if>
  51.     </trim>
  52.   </insert>
  53.   <update id="updateByPrimaryKeySelective" parameterType="com.bky.model.Add" >
  54.     update tadd
  55.     <set >
  56.       <if test="tname != null" >
  57.         tname = #{tname,jdbcType=VARCHAR},
  58.       </if>
  59.       <if test="tpwd != null" >
  60.         tpwd = #{tpwd,jdbcType=VARCHAR},
  61.       </if>
  62.     </set>
  63.     where id = #{id,jdbcType=VARCHAR}
  64.   </update>
  65.   <update id="updateByPrimaryKey" parameterType="com.bky.model.Add" >
  66.     update tadd
  67.     set tname = #{tname,jdbcType=VARCHAR},
  68.       tpwd = #{tpwd,jdbcType=VARCHAR}
  69.     where id = #{id,jdbcType=VARCHAR}
  70.   </update>
  71.   <select id="getAll" resultMap="BaseResultMap">
  72.     SELECT * FROM tadd
  73.   </select>
  74. </mapper>

以上就是几个关键位置的代码。配置文件什么的,由于时间原因没有贴出。

源码下载

如果大家要是感兴趣的话,可以下载我的这个演示项目包,里面的东西都齐全着,导入到MyEclipse上面直接部署到服务器上面就可以运行。数据库就是里面的那个.sql文件。
建个库然后将数据导入就是。哦,对了。
导完数据后,记得别忘了到config.properties里面去把数据库的连接信息换成你自己哦!
链接: http://pan.baidu.com/s/1jGGbnca
密码:

<温馨提示:因内容过于精彩,不易广泛流传,待您评论本文后刷新即可查看,请谅解!>  

@http://www.baikeyang.com/code/96610.html

扫码直接访问:

声明:本站内容为原创。下载内容来自网络,仅作为预览参考之用,版权归原作者和出版社所有,下载后请自觉在24小时内删除.本站信箱:share#lwxshow.com(#换成@)

  • 转载请注明:SpringMVC+Spring+MyBatis整合完整版Web实例;?> +复制链接
  • 280 条留言  访客:270 条  博主:10 条

    1. 小法
    2. 叶歌新宇
    3. 小明
    4. 小明
    5. 2
    6. hello world
    7. dada
    8. xmc
    9. Stone4613
    10. 123
    11. 哈哈
    12. lanyan
    13. lanyan
    14. 一猪当关
    15. guo
    16. creamcheese
    17. 可以额
    18. 是是是
    19. gaohailong
    20. lqf123
    21. yase
    22. ease
    23. tom
    24. 发送发
    25. asd
    26. h1994c0801
    27. fighter
    28. adasd
    29. zjk
    30. 哈哈
      • ava
    31. dved
    32. dved
    33. yuhong0206
      • ava
    34. honly
    35. jack
    36. 扫地小和尚
    37. as_hy
    38. sasuke
      • ava
    39. 看看
    40. 我是谁
    41. 我是谁
    42. IAvt00
      • ava
    43. 王总
    44. kustafa
    45. 注释
    46. conn
      • ava
        • 尤海
    47. hali
    48. 菜鸟
      • ava
    49. ppfly250
    50. 水电费
    51. SUNN
    52. SUNN
    53. asfds
      • ava
    54. ray
    55. liaohog
    56. coffee
    57. 柳树艾
    58. asd
    59. mntzz
    60. mntzz
    61. tison
    62. 阿萨
    63. SSM
    64. XIFAN
    65. 老猫儿
    66. 老猫儿
    67. 问我任务任务
    68. wxy
    69. wxy
    70. wtf1999
    71. 问问企鹅去完成
    72. xu
    73. 都是
    74. 小兰
    75. 小兰
    76. 小兰
    77. 小兰
    78. lin
    79. huajunz
    80. deer
    81. 赵日天
    82. xwy
    83. 奔腾车轮
    84. 奔腾车轮
    85. 奔腾车轮
    86. java菜鸟
    87. 阿斯兰卡
    88. ltl
    89. szbobyue
    90. tommy
    91. tommy
    92. 小白
    93. 1111resr
    94. 123
    95. 宝宝快飞
    96. 练习
    97. yexiecool
    98. 不错
    99. dongporou
    100. dongporou
    101. 扎扎
    102. 111111
      • 小吃
    103. new coder
    104. 醉码
    105. JGDD
    106. JGDD
    107. jzf2050
    108. 不告诉你
    109. 上电股份
    110. a
    111. 贪吃的番茄
    112. 刘昶
    113. hyl
    114. simon_lm
    115. 每天进步点
    116. wshi
    117. zhangchen
    118. liu
    119. lili2016
    120. lili2016
    121. 发生
    122. jianyunchongxian
    123. 37
      • qq
    124. 212
    125. tutu
    126. spring
    127. CHICHI
    128. CHICHI
    129. CHICHI
    130. 37
    131. 随缘
    132. linkin_lin
    133. 7777
    134. chenyu000
    135. 阿明
    136. 柠檬
    137. 柠檬
    138. Carl
    139. 风一样的男子
    140. 海风
    141. jeanheo
    142. tiaotiao
    143. aaa
    144. aaa
    145. 迷你
    146. 好东西
    147. spring
    148. 猜我猜不猜
    149. 1
    150. 呵呵
    151. 111
    152. wanglz
    153. eee
    154. newhand
    155. da
    156. chuanxingzhang
    157. aaa
    158. ben
    159. 雪莲重生
    160. pgh688
    161. ideal
    162. 大叔大叔
    163. evil
    164. evil
    165. jingege123
    166. 小傲
    167. sad
    168. D.龙
    169. guyue49
    170. zhang
    171. zhang
    172. lelouzero
    173. 小楼
    174. 谢谢
    175. 18720980609
    176. Woink
    177. thenextgates
    178. hellowork
    179. fang
    180. chen
    181. danruoxiachu
    182. 12
    183. hello
    184. liayini
    185. liayini
    186. 能下载吗
    187. sdasd
    188. 粑粑麻麻
    189. sdasd
    190. ningfengnj
    191. 12345
    192. xutingee
    193. 呵呵
    194. 特温柔体贴儿童
    195. ningfengnj
    196. 111
    197. tuyong
    198. 牛牛牛
    199. 牛牛牛
    200. xufei
    201. 奈奈
    202. 987327546
    203. 阿斯钢
    204. ava
    205. 很好
    206. 很好
    207. ava
    208. ava
    209. 888
    210. t
    211. bucuo
    212. 貔貅
    213. 貔貅
    214. 东西确实不错
    215. 哈哈哈
    216. 徐菲
    217. 徐菲
    218. 徐菲
    219. eeewe
    220. jiang
    221. gallanthx
    222. blog
    223. 李刚
    224. holyayu
    225. d
    226. newsty
    227. xijunhu2008
    228. sidoufu
    229. dusiguxia
    230. 防风抑尘网
    231. chitry
    232. ahli1992
    233. aixinyi
    234. tantan
    235. 衡水招聘会
    236. tetantek
    237. maguang32104
    238. 菱镁板
    239. 外墙涂料
    240. 衡水物流大全
    241. 隔墙板设备
    242. 框架护栏网
    243. 压滤机
    244. 荷兰网
    245. 勾花网
    246. 钢格栅板
    247. 烧纸
    248. 不锈钢窗纱
    249. 不锈钢网
    250. tbag
    251. karl1989
    252. 刘宝全
    253. zhong
    254. chen
    255. 王钟
    256. benben
      • deer
        • 你好

    给我留言