mybatis学习笔记二mybatis结合spring mvc实现(用户登录,数据查询)

接着上次的来,我做了一个用户登录的例子

UserController:

package com.yihaomen.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.yihaomen.inter.IUserOperation;
import com.yihaomen.model.Article;
import com.yihaomen.model.User;

@Controller
@RequestMapping("/article")
public class UserController {
	@Autowired
	public  IUserOperation userMapper;

	@RequestMapping("/list")
	public ModelAndView listall(User user, HttpServletRequest request,HttpServletResponse response){

	/*	User user=new  User();
		user.setUserName("殊途同归");
		user.setUserAge("23");
		user.setUserAddress("广州天河");
		userMapper.addUser(user);*/

		Map<String, Object> map = new HashMap<String, Object>();
		map.put("name",user.getUserName());
		map.put("age",user.getUserAge());
                System.out.println(user.getUserName());
		List<User> listuser=userMapper.mapUser(map);

	        /*List<Article> articles=userMapper.getUserArticles(1); */
		ModelAndView mav=new ModelAndView("list");
		mav.addObject("articles",listuser);
		return mav;
	}

	@RequestMapping({"/login"})
	public ModelAndView  login(){
		ModelAndView mv=new ModelAndView("login");
		return mv;

	}

	@RequestMapping({"/doLogin"})
	public ModelAndView  login(HttpServletRequest request,HttpServletResponse response){
		Map<String, Object> map = new HashMap<String, Object>();
		String name=request.getParameter("name");
		String password=request.getParameter("password");
		map.put("name",name);
		map.put("password", password);
	    User user=userMapper.login(map);
	    if(user!=null){
	     return listall(user,request, response);
	    } else {
	    request.getSession().setAttribute("msg","失败了!");
	    return new ModelAndView("login");
		}

	}

}

接口类IUserOperation

package com.yihaomen.inter;

import java.util.List;
import java.util.Map;

import com.yihaomen.model.Article;
import com.yihaomen.model.User;

public interface IUserOperation {

	public User login(Map<String, Object> map);
	public List<User> mapUser(Map<String, Object> map);	

}

User.xml

<?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.yihaomen.inter.IUserOperation">//利用xml配置Mapper的方式来定义接口</span>

	<select id="selectUserByID" parameterType="int" resultType="User">
	    select * from `user` where id = #{id} //以id为查询条件
	</select>

	<select id="listUser"  resultType="User">
	    select * from `user` //以id为查询条件

	</select>

	<select id="mapUser"  parameterType="map" resultType="User">
	 select * from `user`  where userName= #{name} and userAge= #{age}
	</select>

    <select id="login"  parameterType="map"  resultType="User">
          select * from `user` where userName=#{name} and password=#{password}//登录
    </select>
</mapper>

标签<select>查询的意思,id对应就是你接口定义的方法名,关于resultType前面讲到Configuration.xml(减少类名的长度来设置的),这个做了一个处理,id直接等于方法名,倘若不这样的处理的话,就得:

<select id="mapUser"  parameterType="map" resultType="com.yihaomen.model.User"></span>

Configuration.xml类:

<configuration>
    <typeAliases>
        <typeAlias alias="User" type="com.yihaomen.model.User"/>
    </typeAliases>
</configuration>  

User实体类

package com.yihaomen.model;

public class User {

	private int id;
	private String userName;
	private String passWord;
	private String userAge;
	private String userAddress;

	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserAge() {
		return userAge;
	}
	public void setUserAge(String userAge) {
		this.userAge = userAge;
	}

	public String getPassWord() {
		return  passWord;
	}
	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}

	public String getUserAddress() {
		return userAddress;
	}
	public void setUserAddress(String userAddress) {
		this.userAddress = userAddress;
	}

}

最好看一下dome页面,比较简单

成功页面:

时间: 2024-10-13 16:19:46

mybatis学习笔记二mybatis结合spring mvc实现(用户登录,数据查询)的相关文章

MyBatis学习笔记二:MyBatis生产中使用环境搭建

这里是在上一个环境的基础上修改的,这里就不在给出所有的配置,只给出哪里修改的配置 1.修改POJO对象为注解方式 2.创建Dao层接口 package com.orange.dao; import com.orange.model.Person; public interface PersonDao { // 这里的返回值和方法名必须和PersonMapper.xml中定义的执行语句的id一致 public Person selectPerson(); } 3.修改PersonMapper.xm

mybatis学习笔记(14)-mybatis整合ehcache

mybatis学习笔记(14)-mybatis整合ehcache mybatis学习笔记14-mybatis整合ehcache 分布缓存 整合方法掌握 整合ehcache 加入ehcache的配置文件 ehcache是一个分布式缓存框架 分布缓存 我们系统为了提高系统并发,性能.一般对系统进行分布式部署(集群部署方式) 不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统开发.所以要使用分布式缓存对缓存数据进行集中管理. mybatis无法实现分布式缓存,需要和其它分布式缓存框架进行整合.

mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现

项目结构  基础入门可参考:mybatis学习笔记(一)-- 简单入门(附测试Demo详细过程) 开始体验 1.新建项目,新建类MybatisUtil.java,路径:src/util/MybatisUtil.java package util; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; i

MyBatis学习笔记(二) 关联关系

今天主要学习的关联关系是一对一关系与一对多关系. 一.一对一关系 还是通过例子来解释说明.(一个妻子对应一个丈夫). 1)数据库信息 1 create table t_wife( 2 id int primary key auto_increment, 3 wife_name varchar(20), 4 fk_husband_id int 5 ); 6 7 create table t_husband( 8 id int primary key auto_increment, 9 husban

Mybatis学习(6)与Spring MVC 的集成

前面几篇文章已经讲到了mybatis与spring 的集成.但这个时候,所有的工程还不是web工程,虽然我一直是创建的web 工程.今天将直接用mybatis与Spring mvc 的方式集成起来,源码在本文结尾处下载.主要有以下几个方面的配置 1. web.xml 配置 spring dispatchservlet ,比如为:mvc-dispatcher 2. mvc-dispatcher-servlet.xml 文件配置 3. spring applicationContext.XML文件配

SpringMVC + Spring + MyBatis 学习笔记:SpringMVC和Spring一同工作的时候,AOP事务管理不起作用的解决方法

系统:WIN8.1 数据库:Oracle 11GR2 开发工具:MyEclipse 8.6 框架:Spring3.2.9.SpringMVC3.2.9.MyBatis3.2.8 SpringMVC 的 springmvc.xml文件中 配置扫描包,不要包含 service的注解,Spring 的 配置文件配置包扫描时,不要包含controller的注解,如下所示: Spring MVC的配置文件: <context:component-scan base-package="包路径"

【Spring学习笔记-MVC-15.1】Spring MVC之异常处理=404界面

作者:ssslinppp       异常处理请参考前篇博客:<[Spring学习笔记-MVC-15]Spring MVC之异常处理>http://www.cnblogs.com/ssslinppp/p/4610043.html : 在遇到404错误时,如何跳转到404界面?下面将介绍之. 404.jsp 在web.xml中定义 <error-page> <exception-type>java.lang.Throwable</exception-type>

【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传

作者:ssslinppp       1. 摘要 前篇文章讲解了单文件上传<[Spring学习笔记-MVC-13]Spring MVC之文件上传>http://www.cnblogs.com/ssslinppp/p/4607043.html (请参考).本文主要讲多文件上传的过程. 主要区别在于控制层代码不同,同时,jsp代码也有相应修改. 2. 添加jar包 commons-fileupload-1.2.2.jar: commons-io-2.0.1.jar: 3. 配置CommonsMul

【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回

作者:ssslinppp      时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MVC与json参考文章:[spring学习笔记-mvc-3]返回json数据-方式1  和 [spring学习笔记-mvc-4]返回json数据-方式2. 使用到的技术主要如下: Ajax:使用JQuery 提供的ajax:==>需要引入jquery.min.js文件: Spring MVC: Jso