码迷,mamicode.com
首页 > 编程语言 > 详细

springmvc+spring+mybatis 整合

时间:2015-09-06 06:18:47      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:

1、其实我也是菜鸟一枚,以前ssm不会,所以花了一段时间,学习了mybatis spring又进行了整合,后来又学习springmvc算是都看了看,今天就把整个搭建好的框架整理一下,和大家分享,如果错误希望指正……

 

2、整个项目的目录结构:

技术分享

 

 

3、有了整体结构之后我们一步一步整合来实现,整合步骤:

(1)、配置前端控制器,web.xml配置

(2)、创建处理映射器 springmvc-server.xml 配置

(3)、创建控制层

(4)、业务逻辑层

(5)、dao层

(6)、sqlmapper 映射文件

(7)、spring+mybatis 整合配置文件即spring.xml 配置文件

 

4、具体实现

 

<web-appxmlns:xsi=http: 2001="" p="" www.w3.org="">

xmlns=http://java.sun.com/xml/ns/javaee

xmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd

xsi:schemaLocation=http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsdid=WebApp_ID version=3.0>

FinalTestO

 

 

org.springframework.web.context.ContextLoaderListener

 

 

 

 

contextConfigLocation

 

classpath:config/springmvc-servlet.xml,

classpath:config/ApplicationContext.xml

 

 

 

 

 

 

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

 

encoding

utf-8

 

 

forceEncoding

true

 

 

 

encodingFilter

*.do

 

 

 

 

springmvc

org.springframework.web.servlet.DispatcherServlet

 

 

contextConfigLocation

classpath:config/springmvc-servlet.xml

 

 

1

 

 

springmvc

 

*.do

 

 

 

index.jsp

 

 

 

(2)、创建映射处理器

 

 

xmlns=http://www.springframework.org/schema/beans

xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance

xmlns:aop=http://www.springframework.org/schema/aop

xmlns:context=http://www.springframework.org/schema/context

xmlns:mvc=http://www.springframework.org/schema/mvc

xmlns:util=http://www.springframework.org/schema/util

xmlns:tx=http://www.springframework.org/schema/tx

xmlns:jdbc=http://www.springframework.org/schema/jdbc

xmlns:cache=http://www.springframework.org/schema/cache

xsi:schemaLocation=

http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsd

http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.1.xsd

http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.1.xsd

http://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd

http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-3.1.xsd

http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.1.xsd

http://www.springframework.org/schema/jdbchttp://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd

http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd>

 

 

 

 

 

 

 

 

 

<beanid=viewresolver class="org.springframework.web.servlet.view.InternalResourceViewResolver">

 

<propertyname=suffix value=".jsp">

 

 

 

 

(3)、控制层,也就是映射处理器将请求映射到控制层的某个具体的方法上。

packagecom.inspur.action;

 

importjava.util.ArrayList;

importjava.util.HashMap;

importjava.util.List;

importjava.util.Map;

 

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.stereotype.Controller;

importorg.springframework.web.bind.annotation.RequestMapping;

 

importcom.inspur.po.User;

importcom.inspur.service.UserService;

 

/**

*@author WHD

*2015-3-18

*/

/*

* 这里实现控制层的方式有多种,一般有extends abstractController 以及implements Controller这个接口

* 但是在平时的项目中使用的都是这个注解方式实现,

*所以这里也就使用了注解的方式,使用Controller 就说明这就是控制器

*/

@Controller

/**

* 这里的RequestMapping 可以在类上也可以不再类上,如果在类上则完整的请求路劲就是类+方法

*/

@RequestMapping(value=/user)

public classUserController {

/**

* 自动注入业务逻辑层,注入方式使用了注解自动注入

*/

 

@Autowired

private UserServiceuserService;

 

/**

* 添加用户信息

*/

/* 增加 */

@RequestMapping(value=/save.do)

public Stringinsert(Integer id ,String name,String sex,User user){

Map<string,object>map= new HashMap<string,object>();

map.put(id,user.getId());

map.put(name,user.getName());

map.put(sex,user.getSex());

 

userService.saveUser(map);

System.out.println(ok);

returnindex;

}

 

/**删除

*

*/

@RequestMapping(value=/delete.do)

public String delete(Integer id){

userService.delUser(id);

returnindex;

}

 

/**

* 修改用户信息

*/

@RequestMapping(value=/update.do)

public Stringupdate(User user){

Map<string,object>map= new HashMap<string,object>();

map.put(id,user.getId());

map.put(name,user.getName());

map.put(sex,user.getSex());

userService.updateUser(map);

returnindex;

}

 

/**

* 查询用户信息

*/

@RequestMapping(value=/select.do)

public Stringselect(Integer id,Map<string,object> map){

List<map<string,object>>list= new ArrayList<map<string,object>>();

list=userService.selectUser(id);

map.put(mylist,list);

returnlist;

}

}

 

(4)、业务逻辑层

packagecom.inspur.service;

 

importjava.util.List;

importjava.util.Map;

 

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.stereotype.Service;

importorg.springframework.transaction.annotation.Transactional;

 

importcom.inspur.dao.UserDao;

 

/**

*@author WHD

*2015-3-18

*/

/**

* 这个service注解说明就是一个业务逻辑层,里面的值可有可无

*/

@Service(userService)

/**

* transactional 这个注解就是使用注解的方式实现事务

*/

@Transactional

public classUserService {

/**

*自动注入dao层

*/

@Autowired

private UserDao userDao;

 

/**保存用户信息

* @param map

*/

publicvoid saveUser(Map<string, object=""> map) {

//TODO Auto-generated method stub

userDao.saveUser(map);

}

 

/**

*删除user

* @param id

*/

publicvoid delUser(Integer id) {

userDao.delUser(id);

}

 

/**

* 编辑用户信息

* @param map

*/

publicvoid updateUser(Map<string, object=""> map) {

userDao.updateUser(map);

}

 

/**

* 查询信息

* @param id

*/

publicList<map<string,object>> selectUser(Integer id) {

return userDao.selectUser(id);

}

 

}

(5)、dao层

packagecom.inspur.dao;

 

importjava.util.List;

importjava.util.Map;

 

importorg.mybatis.spring.SqlSessionTemplate;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.stereotype.Repository;

 

/**

*@author WHD

*2015-3-18

*/

/**

* repository 说明就是一个dao层的注解

*/

@Repository(userDao)

public class UserDao{

/**

*自动注入这里spring管理了mybatis的sqlsessionfactory

*/

@Autowired

privateSqlSessionTemplate sqlSession;

 

/**

* 保存用户信息

* @param map

*/

publicvoid saveUser(Map<string, object=""> map) {

sqlSession.insert(com.inspur.userMapper.insertUserMap,map);

 

}

 

/**

* 删除用户

* @param id

*/

publicvoid delUser(Integer id) {

sqlSession.delete(com.inspur.userMapper.delUser,id);

}

 

/**

* 修改用户信息

* @param map

*/

publicvoid updateUser(Map<string, object=""> map) {

sqlSession.update(com.inspur.userMapper.updateUser,map);

}

 

/**

* 查询用户信息

* @param id

* @return

*/

publicList<map<string, object="">> selectUser(Integer id) {

returnsqlSession.selectList(com.inspur.userMapper.selectUser, id) ;

}

 

}

 

(6)、sqlmapper 映射文件

 

 

http://mybatis.org/dtd/mybatis-3-mapper.dtd>

 

<mappernamespace=com.inspur.usermapper>

 

 

<insertid=insertusermap parametertype="java.util.Map">

insert into mytest(id,name,sex) values(#{id},#{name},#{sex})

 

 

<deleteid=deluser parametertype="int">

delete from mytest where id=#{id}

 

 

<updateid=updateuser parametertype="java.util.Map">

update mytest setname=#{name},sex=#{sex} where id=#{id}

 

 

 

 

 

 

 

(7)、spring+mybatis 配置文件

 

<beansxmlns=http: p="" schema="" www.springframework.org="">

xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance

xmlns:tx=http://www.springframework.org/schema/tx

xmlns:context=http://www.springframework.org/schema/context

xsi:schemaLocation=http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.2.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.2.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-3.2.xsd>

 

 

<context:property-placeholderlocation=classpath:datasource.properties>

 

 

<propertyname=driverclassname>

${jdbc.driverClassName}

 

 

${jdbc.url}

 

 

${jdbc.username}

 

 

${jdbc.password}

小项目源码地址下载

 

springmvc+spring+mybatis 整合

标签:

原文地址:http://www.cnblogs.com/bubu2/p/4784328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!