Mybatis --04.mybatis中parameterType参数类型

版权声明:转载请注明原始链接 https://blog.csdn.net/sswqzx/article/details/83752798

parameterType有三种类型的输入参数

1、基本数据类型

2、hashmap

3、pojo包装类

前面已使用过了基本数据类型和pojo类型的参数。下面使用hashmap类型

UserDaoMapper.xml中添加login

<?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">
<!--映射文件的作用:用来存放sql语句
    namespace:命名空间
-->
<mapper namespace="UserDaoMapper">
    <!--登录-->
    <select id="login" resultType="User" parameterType="hashmap" >
        select * from tb_user where user_name = #{userName} and password = #{password}
    </select>
</mapper>

UserDao接口中添加login方法:

package com.sswblog.dao;

import com.sswblog.domain.User;

import java.util.List;

/**
 * @ Author     :ShaoWei Sun.
 * @ Date       :Created in 0:06 2018/11/5
 */

    /**
     * 登录
     * @param userName
     * @param password
     * @return
     */
    public User login(String userName, String password);
}

UserDaoImpl中实现login方法:

package com.sswblog.dao.Impl;

import com.sswblog.dao.UserDao;
import com.sswblog.domain.User;
import org.apache.ibatis.session.SqlSession;

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

/**
 * @ Author     :ShaoWei Sun.
 * @ Date       :Created in 0:06 2018/11/5
 */
public class UserDaoImpl implements UserDao {
    //dao层增删除改查需要SqlSession
    private SqlSession sqlSession = null;

    //构造方法
    public UserDaoImpl(SqlSession sqlSession) {
        this.sqlSession = sqlSession;
    }

    @Override
    public User login(String userName, String password) {
        Map<String,Object> map = new HashMap<>();
        map.put("userName",userName);
        map.put("password",password);
        User user = this.sqlSession.selectOne("UserDaoMapper.login", map);
        return user;
    }
}

UserDaoTest中添加testLogin方法

package com.sswblog.test;

import com.sswblog.dao.Impl.UserDaoImpl;
import com.sswblog.dao.UserDao;
import com.sswblog.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;

import java.io.InputStream;
import java.util.Date;
import java.util.List;

/**
 * @ Author     :ShaoWei Sun.
 * @ Date       :Created in 15:05 2018/11/5
 */
public class UserDaoImplTest {
    private UserDao userDao = null;

    @Before
    public void setUp() throws Exception {
        InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        userDao = new UserDaoImpl(sqlSession);
    }

    @Test
    public void login(){
        User user = userDao.login("小王", "111111");
        if (user == null){
            System.out.println("没有登录");
        }else {
            System.out.println("登录成功");
        }
        System.out.println(user);
    }
}

猜你喜欢

转载自blog.csdn.net/sswqzx/article/details/83752798