SpringMVC + MyBatis 简单示例分享

控制器片段:

package com.wg.test;
 
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 org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import com.wg.bean.User;
import com.wg.service.UserService;
 
@Controller
public class UserController {
 
    @Autowired
    private UserService userService;
 
    @RequestMapping(value = "regist", method = RequestMethod.POST)
    public ModelAndView regist(HttpServletRequest request, User user) {
        try {
            userService.saveUser(user);
        } catch (Exception e) {
            e.printStackTrace();
        }
        request.setAttribute("username", user.getUsername());
        request.setAttribute("password", user.getPassword());
        System.out.println(user.toString());
        return new ModelAndView("succ");
    }
 
    /***
     * 用户登陆
     * <p>
     * 注解配置,只允许POST提交到该方法
     * 
     * @param username
     * @param password
     * @return
     */
    @RequestMapping(value = "login", method = RequestMethod.POST)
    public ModelAndView login(String username, String password) {
        // 验证传递过来的参数是否正确,否则返回到登陆页面。
        if (this.checkParams(new String[] { username, password })) {
            // 指定要返回的页面为succ.jsp
            ModelAndView mav = new ModelAndView("succ");
            // 将参数返回给页面
            mav.addObject("username", username);
            mav.addObject("password", password);
            System.out
                    .println("username=" + username + " password=" + password);
            return mav;
        }
        return new ModelAndView("home");
    }
 
    /***
     * 验证参数是否为空
     * 
     * @param params
     * @return
     */
    private boolean checkParams(String[] params) {
        for (String param : params) {
            if (param == "" || param == null || param.isEmpty()) {
                return false;
            }
        }
        return true;
    }
}


web.xml配置:
<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  
       
    <!-- 监听spring上下文容器 -->  
    <listener>  
        <listener-class>  
            org.springframework.web.context.ContextLoaderListener  
        </listener-class>  
    </listener>  
       
    <!-- 加载spring的xml配置文件到 spring的上下文容器中 -->  
    <context-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>classpath:*-context.xml</param-value>  
    </context-param>  
       
    <!-- 配置Spring MVC DispatcherServlet -->  
    <servlet>  
        <servlet-name>MVC</servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
        <!-- 初始化参数 -->  
        <init-param>  
            <!-- 加载SpringMVC的xml到 spring的上下文容器中 -->  
            <param-name>contextConfigLocation</param-name>  
            <param-value>  
                /WEB-INF/classes/mvc-context.xml  
            </param-value>  
        </init-param>  
        <load-on-startup>1</load-on-startup>  
    </servlet>  
   
    <!-- 配置DispatcherServlet所需要拦截的 url -->  
    <servlet-mapping>  
        <servlet-name>MVC</servlet-name>  
        <url-pattern>*.do</url-pattern>  
    </servlet-mapping>  
   
    <welcome-file-list>  
        <welcome-file>index.jsp</welcome-file>  
    </welcome-file-list>  
   
   
</web-app>


spring-mvc配置:

<?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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 
    <context:component-scan base-package="com.wg.*" />
 
    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/page/" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>


userMapper配置:

<?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.wg.dao.UserDao">
    <!-- 取得用户列表 -->
    <select id="getUser" resultType="User" parameterType="User">
        select
        id,
        username,
        password
        From user
        <where>
            <if test="username != null and password != null">
                username =#{username} and password =#{password}
            </if>
            <if test="id!=null">
                and id=#{id}
            </if>
        </where>
    </select>
    <!-- 新增用户 -->
    <insert id="insertUser" parameterType="User">
        insert into user(id,username,password) values(#{id},#{username},#{password})
        <selectKey keyProperty="id" resultType="Long">
            select last_insert_id() as id
        </selectKey>
    </insert>
    <!-- 修改用户 -->
    <update id="updateUser" parameterType="User">
        update user
        <set>
            <if test="username != null">username=#{username},</if>
            <if test="password != null">password=#{password},</if>
        </set>
        where id=#{id}
    </update>
    <!-- 删除用户 -->
    <delete id="deleteUser" parameterType="Long">
        delete from user where id=#{id}
    </delete>
 
</mapper>


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。