SSM整合--增删改查

5.1过去了,经过几天的尝试终于把SSM整合起来了。下面吧主要的配置说下,然后把源码上传上来。

 项目包结构:


配置文件我分成了spring-mvc.xml和spring-mybatis.xml;

spring-mvc.xml是spring mvc的配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:p="http://www.springframework.org/schema/p"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:mvc="http://www.springframework.org/schema/mvc"
  xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://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/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
    
    <!-- 扫描文件(自动注入),包括DAO层注入Service层,Service层注入Controller层 -->
    <context:component-scan base-package="com.demo"/>
    <!-- 默认的注解映射的支持 -->  
    <mvc:annotation-driven />
   <!-- 避免IE在ajax请求时,返回json出现下载 -->
   <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">     
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
            </list>
        </property>
    </bean>
    <!-- 静态资源(js/image)的访问 -->
<mvc:resources mapping="/css/**" location="/css/" />
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/Ext/**" location="/Ext/" />
     
   <!-- 对模型视图添加前后缀 -->
     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/>
</beans>

spring-mybatis.xml是spring和mybatis整合的配置和事务管理的配置;数据源的配置我放在了tomcat中

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://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
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
    http://www.springframework.org/schema/util 
    http://www.springframework.org/schema/util/spring-util-3.2.xsd">
    
<!--本示例采用DBCP连接池。 连接池配置如下 -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/user" />
</bean>


<!-- mybatis文件配置,扫描所有mapper文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:dataSource-ref="dataSource" p:configLocation="classpath:conf/mybatis-config.xml"
p:mapperLocations="classpath:mapper/*.xml" /><!-- configLocation为mybatis属性 
mapperLocations为所有mapper -->


<!-- spring与mybatis整合配置,扫描所有dao ,生成与DAO类相同名字的bean(除了首字母小写)-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
p:basePackage="com.demo.dao" p:sqlSessionFactoryBeanName="sqlSessionFactory" />


<bean id="userService" 
class="com.demo.service.impl.UserServiceImpl">
</bean>


<!-- 对数据源进行事务管理 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource" />
<tx:annotation-driven mode="proxy" transaction-manager="transactionManager" />
</beans>

在controller中有登录、增、删、改、查主要的方法就不一一介绍了下面会把源码上传的,有兴趣的可以看看。

package com.demo.controller;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import javax.servlet.http.HttpServletRequest;


import net.sf.json.JSONObject;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;


import com.demo.model.User;
import com.demo.service.UserService;
import com.sun.corba.se.spi.orbutil.fsm.Guard.Result;


/**
 * @Author Aaron
 * @Date 创建时间:2015-12-10
 * @Version 1.0
 * 
 * @Project_Package_Description springmvc || com.demo.controller
 * @Function_Description 核心控制类,处理页面的请求以及业务
 * 
 */
@Controller
@RequestMapping(value = "/user")
public class UserController {


@Autowired
private UserService userService;


@RequestMapping(value = "/index")
public ModelAndView index(User user) {
userService.insertUser(user);
ModelAndView mav = new ModelAndView();
mav.setViewName("info");
mav.addObject("user", user);
return mav;
}


@RequestMapping(value = "/login")
public ModelAndView login(String name, String password,
HttpServletRequest request) {
User user = new User();
ModelAndView modelAndView = new ModelAndView();
user = userService.findByNameAndPassword(name, password);
String msg = null;


if (user != null) {
msg = "登录成功";
modelAndView.setViewName("redirect:/user/findallusers");
request.getSession().setAttribute("user", user);
} else {
msg = "输入的用户名或密码不正确";
modelAndView.setViewName("login");
modelAndView.addObject("msg", msg);
}


return modelAndView;
}


@RequestMapping(value = "/extlogin")
public Object extlogin(String name, String password,
HttpServletRequest request) {
Map<String, String> map = new HashMap<String, String>();
String randCode = request.getParameter("randCode");
User user = new User();
ModelAndView modelAndView = new ModelAndView();
user = userService.findByNameAndPassword(name, password);
String msg = null;
// 获得的当前正确的验证码
String rand = (String) request.getSession().getAttribute("rand");
if (rand.equals(randCode)) {
if (user != null) {
msg = "登录成功";
modelAndView.setViewName("redirect:/user/findallusers");
request.getSession().setAttribute("user", user);

} else {
msg = "输入的用户名或密码不正确";
modelAndView.setViewName("login");
}


}
map.put("msg", msg);
JSONObject jsonObject = JSONObject.fromObject(map);
return jsonObject;
}


@RequestMapping(value = "/findallusers")
public ModelAndView findAllUsers(HttpServletRequest request) {
List<User> users = new ArrayList<User>();
ModelAndView modelAndView = new ModelAndView();
users = userService.findAllUser();
modelAndView.setViewName("listuser");
modelAndView.addObject("users", users);
modelAndView.addObject("user", request.getSession()
.getAttribute("user"));
return modelAndView;
}


@RequestMapping(value = "/getUser")
public ModelAndView getUser(int id) {
User user = new User();
ModelAndView modelAndView = new ModelAndView();
user = userService.findById(id);
modelAndView.setViewName("edituser");
modelAndView.addObject("user", user);
return modelAndView;
}


@RequestMapping(value = "/delUser")
public ModelAndView delUser(int id) {
ModelAndView modelAndView = new ModelAndView();
userService.deleteUser(id);
modelAndView.setViewName("redirect:/user/findallusers");
return modelAndView;
}


@RequestMapping(value = "/updateUser")
public ModelAndView updateUser(User user) {
ModelAndView modelAndView = new ModelAndView();
userService.updateUser(user);
modelAndView.setViewName("redirect:/user/findallusers");
return modelAndView;
}


@RequestMapping(value = "/toaddUser")
public ModelAndView toaddUser() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("adduser");
return modelAndView;
}


@RequestMapping(value = "/addUser")
public ModelAndView addUser(User user) {
ModelAndView modelAndView = new ModelAndView();
userService.insertUser(user);
modelAndView.setViewName("redirect:/user/findallusers");
return modelAndView;
}


}

tomcat数据源配置

conf中的context.xml中增加

<Resource
   name="jdbc/user"
   auth="Container"
   type="javax.sql.DataSource"
   maxActive="100"
   maxIdle="30"
   maxWait="10000"
   driverClassName="com.mysql.jdbc.Driver"
   username="root"
   password=""
   url="jdbc:mysql://127.0.0.1:3306/mysql"/>

项目中的web增加

<resource-ref>
     <description>jdbc_user</description>
      <res-ref-name>jdbc/user</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>

datasoure配置

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/user" />
</bean>

源码下载地址:http://download.csdn.net/detail/baidu_30438243/9511962


你可能感兴趣的:(spring,mvc,增删改查,ssm)