首页
留言
关于
友链
更多
足迹
实验室
地图组件
Search
1
SpringMVC+Spring+MyBatis整合完整版Web实例(附数据)
2,628 阅读
2
关于在Flutter实现Google地图的方法
1,042 阅读
3
SqlServer分组排序后取第一条记录
709 阅读
4
Maven仓库报错:Could not transfer artifact org.springframework.boot:spring-boot-maven-plugin:pom···
623 阅读
5
druid报异常 “sql injection violation, part alway true condition not allow”的解决方案
531 阅读
发现
技术
生活
户外
登录
Search
标签搜索
Git
JavaScript
Oracle
Git学习
Java
Flutter
MySQL
SQL Server
Spring Boot
对称加密算法
IntelliJ IDEA
Google地图
Maven
ES6
秦岭户外
Flutter 2.0
linux
Tomcat
Redis
Spring
Bai Keyang
累计撰写
269
篇文章
累计收到
275
条评论
首页
栏目
发现
技术
生活
户外
页面
留言
关于
友链
足迹
搜索到
1
篇与
SpringMVC+Spring+MyBatis整合
的结果
2014-02-23
SpringMVC+Spring+MyBatis整合完整版Web实例(附数据)
最近段时间正在学习Spring MVC和MyBatis的一些知识。自己也在网络上面找了一些例子来练习。但是都不是很完整。所以,今天,自己也抽空写了个完成的关于Spring MVC + Spring + MyBatis(简称 SSM)的一个CRUD的完整Web 演示例子。如果你也是刚好学习这几个框架的新手,或许我做的这个例子对你刚好有所帮助哦![caption id="" align="aligncenter" width="275"] 演示工程的目录结构[/caption][caption id="" align="aligncenter" width="550"] 添加数据页面[/caption][caption id="" align="aligncenter" width="550"] 修改数据的页面[/caption][caption id="" align="aligncenter" width="550"] 查询出的数据列表[/caption]下面来说下这个演示的小例子。首先,我是使用MyEclipse工具做的这个例子,整合了Sping 3 、Spring MVC 3 、MyBatis框架,演示数据库采用MySQL数据库。例子中主要操作包括对数据的添加(C)、查找(R)、更新(U)、删除(D)。我在这里采用的数据库连接池是来自阿里巴巴的Druid,至于Druid的强大之处,我在这里就不做过多的解释了,有兴趣的朋友们可以去网上谷歌或者百度一下哦!好了下面我就贴上这次这个演示例子的关键代码:BaseControllerpackage com.bky.controller; import java.util.List; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.bky.model.Add; import com.bky.service.BaseService; @Controller public class BaseController { private BaseService baseService; public BaseService getBaseService() { return baseService; } @Autowired public void setBaseService(BaseService baseService) { this.baseService = baseService; } @SuppressWarnings("finally") @RequestMapping("addInfo") public String add(Add add,HttpServletRequest request){ try { add.setId(UUID.randomUUID().toString()); System.out.println(add.getId() + ":::::" + add.getTname() + ":::::" + add.getTpwd()); String str = baseService.addInfo(add); System.out.println(str); request.setAttribute("InfoMessage", str); } catch (Exception e) { e.printStackTrace(); request.setAttribute("InfoMessage", "添加信息失败!具体异常信息:" + e.getMessage()); } finally { return "result"; } } @RequestMapping("getAll") public String getAddInfoAll(HttpServletRequest request){ try { List<Add> list = baseService.getAll(); System.out.println(list); request.setAttribute("addLists", list); return "listAll"; } catch (Exception e) { e.printStackTrace(); request.setAttribute("InfoMessage", "信息载入失败!具体异常信息:" + e.getMessage()); return "result"; } } @SuppressWarnings("finally") @RequestMapping("del") public String del(String tid,HttpServletRequest request){ try { String str = baseService.delete(tid); request.setAttribute("InfoMessage", str); } catch (Exception e) { e.printStackTrace(); request.setAttribute("InfoMessage", "删除信息失败!具体异常信息:" + e.getMessage()); } finally { return "result"; } } @RequestMapping("modify") public String modify(String tid,HttpServletRequest request){ try { Add add = baseService.findById(tid); request.setAttribute("add", add); return "modify"; } catch (Exception e) { e.printStackTrace(); request.setAttribute("InfoMessage", "信息载入失败!具体异常信息:" + e.getMessage()); return "result"; } } @SuppressWarnings("finally") @RequestMapping("update") public String update(Add add,HttpServletRequest request){ try { String str = baseService.update(add); request.setAttribute("InfoMessage", str); } catch (Exception e) { e.printStackTrace(); request.setAttribute("InfoMessage", "更新信息失败!具体异常信息:" + e.getMessage()); } finally { return "result"; } } }Service的实现package com.bky.service.impl; import java.util.List; import java.util.UUID; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.bky.dao.AddMapper; import com.bky.model.Add; import com.bky.service.BaseService; @Service("baseService") public class BaseServiceImpl implements BaseService { private AddMapper addMapper; public AddMapper getAddMapper() { return addMapper; } @Autowired public void setAddMapper(AddMapper addMapper) { this.addMapper = addMapper; } @Override public String addInfo(Add addInfo) { if (addMapper.insertSelective(addInfo) == 1) { return "添加成功"; } return "添加失败"; } @Override public List<Add> getAll() { return addMapper.getAll(); } @Override public String delete(String id) { if (addMapper.deleteByPrimaryKey(id) == 1) { return "删除成功"; } return "删除失败"; } @Override public Add findById(String id) { return addMapper.selectByPrimaryKey(id); } @Override public String update(Add addInfo) { if (addMapper.updateByPrimaryKeySelective(addInfo) == 1) { return "更新成功"; } return "更新失败"; } }Mapper<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.bky.dao.AddMapper" > <resultMap id="BaseResultMap" type="com.bky.model.Add" > <id column="id" property="id" jdbcType="VARCHAR" /> <result column="tname" property="tname" jdbcType="VARCHAR" /> <result column="tpwd" property="tpwd" jdbcType="VARCHAR" /> </resultMap> <sql id="Base_Column_List" > id, tname, tpwd </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" > select <include refid="Base_Column_List" /> from tadd where id = #{id,jdbcType=VARCHAR} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.String" > delete from tadd where id = #{id,jdbcType=VARCHAR} </delete> <insert id="insert" parameterType="com.bky.model.Add" > insert into tadd (id, tname, tpwd ) values (#{id,jdbcType=VARCHAR}, #{tname,jdbcType=VARCHAR}, #{tpwd,jdbcType=VARCHAR} ) </insert> <insert id="insertSelective" parameterType="com.bky.model.Add" > insert into tadd <trim prefix="(" suffix=")" suffixOverrides="," > <if test="id != null" > id, </if> <if test="tname != null" > tname, </if> <if test="tpwd != null" > tpwd, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides="," > <if test="id != null" > #{id,jdbcType=VARCHAR}, </if> <if test="tname != null" > #{tname,jdbcType=VARCHAR}, </if> <if test="tpwd != null" > #{tpwd,jdbcType=VARCHAR}, </if> </trim> </insert> <update id="updateByPrimaryKeySelective" parameterType="com.bky.model.Add" > update tadd <set > <if test="tname != null" > tname = #{tname,jdbcType=VARCHAR}, </if> <if test="tpwd != null" > tpwd = #{tpwd,jdbcType=VARCHAR}, </if> </set> where id = #{id,jdbcType=VARCHAR} </update> <update id="updateByPrimaryKey" parameterType="com.bky.model.Add" > update tadd set tname = #{tname,jdbcType=VARCHAR}, tpwd = #{tpwd,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} </update> <select id="getAll" resultMap="BaseResultMap"> SELECT * FROM tadd </select> </mapper>以上就是几个关键位置的代码,我全部贴出来了。至于配置文件什么的,由于时间原因没有贴出。如果大家要是感兴趣的话,可以下载我的这个演示项目包,里面的东西都齐全着,导入到MyEclipse上面直接部署到服务器上面就可以运行。数据库就是里面的那个.sql文件。建个库然后将数据导入就是。哦,对了。导完数据后,记得别忘了到config.properties里面去把数据库的连接信息换成你自己哦!本次演示例子源码完整下载:http://pan.baidu.com/s/1jDA2q(百度网盘)假如百度云分享链接失效,请联系站长,我会补上的。好了。到这里为止,关于 SSM框架整合的一个CRUD的完整Web例子到此就结束了。如果你在阅读代码的时候有什么疑惑或者不懂,欢迎和我探讨哦!
2014年02月23日
2,628 阅读
117 评论
0 点赞