A-A+

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

2015年02月02日 Server 评论 303 条 阅读 26,664 views 次
server category
文章目录[隐藏] WPJAM TOC

最近段时间正在学习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实例;?> +复制链接
  • 303 条留言  访客:293 条  博主:10 条

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

    给我留言

    *