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);
}
}