2015年2月2日

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

文章目录[隐藏] 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
密码:
[reply]
gz6u
[/reply]

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

Tagged on:

303 thoughts on “SpringMVC+Spring+MyBatis整合完整版Web实例

发表评论

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

*