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的强大之处,我在这里就不做过多的解释了,有兴趣的朋友们可以去网上谷歌或者百度一下哦!好了下面我就贴上这次这个演示例子的关键代码:

BaseController

package 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例子到此就结束了。如果你在阅读代码的时候有什么疑惑或者不懂,欢迎和我探讨哦!

评论 117

  1. 你好
    你好

    严重: create connection error
    java.sql.SQLException: Access denied for user ‘root’@’localhost’ (using password: YES)

    提交成功,刷新页面之前你可以

    是怎么回事呢,谢谢

    2019-11-20
    1. BaiKeyang
      @你好

      你好。这个异常时用户名密码错误或者权限配置问题导致的,可以检查下你的数据库用户名和权限是不是正确。

      2019-12-03
  2. sdf
    sdf

    严重: create connection error
    java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

    2019-11-20
    1. BaiKeyang
      @sdf

      你好。这个异常时用户名密码错误或者权限配置问题导致的,可以检查下你的数据库用户名和权限是不是正确。

      2019-12-03
  3. Jody
    Jody

    Exception thrown from LifecycleProcessor on context close
    java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Mon Oct 22 19:26:28 CST 2018]; root of context hierarchy
    怎么报这个错误

    2018-10-22
    1. BaiKeyang
      @Jody

      你好,朋友,已邮件回复你了。

      2018-11-13
  4. qq:532055389
    qq:532055389

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

    2017-08-28
    1. BaiKeyang
      @qq:532055389

      可能是编译问题,不妨换个JDK版本试试看,比如1.6、1.7……

      2017-09-09
  5. helooworld
    helooworld

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

    2017-03-11
  6. 可可
    可可

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

    2016-07-01
  7. 哈哈
    哈哈

    :razz: :razz: 不错,帮顶

    2016-06-16
  8. fish_up
    fish_up

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

    2016-05-01
  9. gh
    gh

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

    2015-12-29
    1. BaiKeyang
      @gh

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

      2016-01-04
  10. syx
    syx

    下载不了

    2015-12-01
    1. BaiKeyang
      @syx

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

      2015-12-03
  11. 纵然
    纵然

    :razz: 可以留个联系方式吗。。

    2015-10-19
    1. BaiKeyang
      @纵然

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

      2015-10-27
  12. 刘

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

    2015-08-28
    1. baikeyang
      baikeyang
      @刘

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

      2015-09-10
  13. 2077
    2077

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

    2015-06-11
    1. baikeyang
      baikeyang
      @2077

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

      2015-07-05
  14. 小年轻

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

    2015-06-09
    1. baikeyang
      baikeyang
      @小年轻

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

      2015-07-05
  15. chen
    chen

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

    2015-05-15
    1. baikeyang
      baikeyang
      @chen

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

      2015-07-05
  16. 21312
    21312

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

    2015-05-09
    1. baikeyang
      baikeyang
      @21312

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

      2015-07-05
  17. 许愿
    许愿

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

    2015-04-29
    1. baikeyang
      baikeyang
      @许愿

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

      2015-07-05
  18. 许愿
    许愿

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

    2015-04-28
    1. baikeyang
      baikeyang
      @许愿

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

      2015-07-05
  19. Mason
    Mason

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

    message /ssm/add.jsp

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

    2015-04-23
    1. baikeyang
      baikeyang
      @Mason

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

      2015-07-05
  20. wshenyang
    wshenyang

    多谢分享!!!!

    2015-04-16
    1. baikeyang
      baikeyang
      @wshenyang

      不客气。谢谢你的来访~

      2015-07-05
  21. 程序员
    程序员

    为什么我参照你的做法做了一个小项目,就报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: {}

    2015-04-15
    1. baikeyang
      baikeyang
      @程序员

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

      2015-07-05
  22. 好小子
    好小子

    很好,太感谢了,

    2015-04-13
    1. baikeyang
      baikeyang
      @好小子

      谢谢你的来访~

      2015-07-05
  23. 好人
    好人

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

    2015-04-09
    1. baikeyang
      baikeyang
      @好人

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

      2015-07-05
  24. NemoVisky
    NemoVisky

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

    2015-03-28
    1. baikeyang
      baikeyang
      @NemoVisky

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

      2015-07-05
    2. 新人
      新人
      @NemoVisky

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

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

      2015-04-18
      1. baikeyang
        baikeyang
        @新人

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

        2015-07-05
  25. hh
    hh

    楼主威武

    2015-03-27
    1. baikeyang
      baikeyang
      @hh

      谢谢你的来访~

      2015-07-05
  26. 泡泡
    泡泡

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

    2015-03-23
    1. baikeyang
      baikeyang
      @泡泡

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

      2015-07-05
  27. 等离子带花奶油蛋糕
    等离子带花奶油蛋糕

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

    2015-03-21
    1. baikeyang
      baikeyang
      @等离子带花奶油蛋糕

      谢谢你的来访~

      2015-07-05
  28. bluebang
    bluebang

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

    2015-03-18
    1. baikeyang
      baikeyang
      @bluebang

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

      2015-07-05
  29. lcl
    lcl

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

    2015-03-13
    1. baikeyang
      baikeyang
      @lcl

      不客气~ 谢谢你的来访~

      2015-07-05
  30. 新手
    新手

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

    2015-02-13
    1. baikeyang
      baikeyang
      @新手

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

      2015-07-05
  31. 石头
    石头

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

    2015-02-06
    1. baikeyang
      baikeyang
      @石头

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

      2015-07-05
  32. 小男孩
    小男孩

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

    2015-01-26
    1. baikeyang
      baikeyang
      @小男孩

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

      2015-07-05
  33. Archer
    Archer

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

    2015-01-13
    1. baikeyang
      baikeyang
      @Archer

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

      2015-07-05
  34. Archer
    Archer

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

    2015-01-13
    1. baikeyang
      baikeyang
      @Archer

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

      2015-07-05
  35. 江南的雨
    江南的雨

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

    2015-01-12
    1. baikeyang
      baikeyang
      @江南的雨

      你好,建个数据库,将sql导入到数据库即可。

      2015-07-05
  36. 沈宏亮
    沈宏亮

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

    2015-01-12
    1. baikeyang
      baikeyang
      @沈宏亮

      谢谢你的来访~

      2015-07-05
  37. dsa
    dsa

    我的一直是404

    2015-01-09
    1. baikeyang
      baikeyang
      @dsa

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

      2015-07-05
  38. dsa
    dsa

    :razz:

    2015-01-09
    1. baikeyang
      baikeyang
      @dsa

      谢谢你的来访~

      2015-07-05
  39. 绝世狂爷
    绝世狂爷

    哎呦,不错哦

    2014-12-25
    1. baikeyang
      baikeyang
      @绝世狂爷

      谢谢你的来访~

      2015-07-05
  40. 绝世狂爷
    绝世狂爷

    :razz:

    2014-12-25
    1. baikeyang
      baikeyang
      @绝世狂爷

      谢谢你的来访~

      2015-07-05
  41. taylor
    taylor

    272390515@qq.com 发一份吧谢谢

    2014-12-11
    1. baikeyang
      baikeyang
      @taylor

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

      2015-07-05
  42. 天堂鸟
    天堂鸟

    亲 发我一份吧 QQ:44624860

    2014-11-15
    1. baikeyang
      baikeyang
      @天堂鸟

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

      2015-07-05
  43. tianchunyong
    tianchunyong

    准备换工作 ,学习一下

    2014-11-01
    1. baikeyang
      baikeyang
      @tianchunyong

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

      2015-07-05
  44. long
    long

    亲 发我一份吧

    2014-10-11
    1. baikeyang
      baikeyang
      @long

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

      2015-07-05
  45. 潘潘
    潘潘

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

    2014-09-22
    1. baikeyang
      baikeyang
      @潘潘

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

      2015-07-05
  46. 谢谢 楼主
    谢谢 楼主

    真心表示感谢。

    2014-09-14
    1. baikeyang
      baikeyang
      @谢谢 楼主

      不客气~谢谢你的来访~

      2015-07-05
    2. baikeyang
      baikeyang
      @谢谢 楼主

      不客气。谢谢你的来访~

      2015-07-05
  47. 东霞
    东霞

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

    2014-09-04
    1. baikeyang
      baikeyang
      @东霞

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

      2015-07-05
  48. 一朵奇葩
    一朵奇葩

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

    2014-08-27
    1. baikeyang
      baikeyang
      @一朵奇葩

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

      2015-07-05
  49. 孙悟饭
    孙悟饭

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

    2014-08-23
    1. baikeyang
      baikeyang
      @孙悟饭

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

      2015-07-05
  50. 求源码
    求源码

    求源码哦

    2014-08-21
    1. baikeyang
      baikeyang
      @求源码

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

      2015-07-05
  51. 冰尘
    冰尘

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

    2014-07-25
    1. baikeyang
      baikeyang
      @冰尘

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

      2014-07-25
  52. 叶枫
    叶枫

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

    2014-07-08
    1. baikeyang
      baikeyang
      @叶枫

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

      2014-07-25
      1. xzl1991
        xzl1991
        @baikeyang

        楼主加我qq 1192373005

        2015-04-20
        1. baikeyang
          baikeyang
          @xzl1991

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

          2015-07-05
  53. 风之羽翼
    风之羽翼

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

    2014-07-02
    1. baikeyang
      baikeyang
      @风之羽翼

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

      2014-07-03
  54. Rey
    Rey

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

    2014-06-09
    1. baikeyang
      baikeyang
      @Rey

      我已经加了你的QQ了。

      2014-06-29
  55. 阳光demo
    阳光demo

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

    2014-05-15
    1. java_zhang
      java_zhang
      @阳光demo

      你的QQ号是多少,请加我:290914896

      2015-01-13
      1. baikeyang
        baikeyang
        @java_zhang

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

        2015-07-05
    2. baikeyang
      baikeyang
      @阳光demo

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

      2014-05-15
      1. 石头
        石头
        @baikeyang

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

        2015-02-06
        1. baikeyang
          baikeyang
          @石头

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

          2015-07-05
      2. 番茄
        番茄
        @baikeyang

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

        2014-06-28
        1. baikeyang
          baikeyang
          @番茄

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

          2014-06-29
没有更多啦