Mybatis框架再学习二

上次的内容主要是mybatis的大概介绍和简单使用,这次对mybatis中最为重要的映射器的开发

进行学习,映射器的开发组成占整个mybatis开发的百分之八十。

对于简单的映射关系,不再重复

 

1.在映射中传递多个参数

开发中所需要传递的查询条件很可能不止一个,因此就会涉及怎么去传入多个parametertype

 

方法1:使用map接口(可读性差,不推荐)

//在上一次的代码基础上进行修改	


		studentMapper studentMapper =  sqlSession.getMapper(studentMapper.class);
		
		Map<String, Object> map = new HashMap<>();
		
		map.put("name", "doctorL");
		map.put("number", "31501");
		
		
		 List<student> list  = studentMapper.getpassword(map);
		

 

		public List<student> getpassword(Map<String,Object> pa);



<?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="student.mapper.studentMapper">
  <select id="getpassword" parameterType="map"  resultType  ="student.pojo.student">
    select  password from  student where studentName = #{name} and studentnumber = #{number}
  </select>
</mapper>

 

2.使用@param注解

在使用注解是不需要给出parametertype的属性,mybatis会根据注解自动搜索

这个方法适用于传入参数大于1但不是很多的情况

	studentMapper studentMapper =  sqlSession.getMapper(studentMapper.class);
		 
		
		 List<student> list  = studentMapper.getpassword("doctorL","31501");
		
<?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="student.mapper.studentMapper">
  <select id="getpassword"  resultType  ="student.pojo.student">
    select  password from  student where studentName = #{name} and studentnumber = #{number}
  </select>
</mapper>


mapper接口

public List<student> getpassword(@Param("name") String name , @Param("number") String number);

3.javabean的方式  需要传递的参数较多的情况

输入参数的pojo

package student.pojo;

public class parameter {
		private String name ;
		private String number ;
		
		
		
		
		
		
		
		public parameter() {
			super();
			// TODO Auto-generated constructor stub
		}
		public parameter(String name, String number) {
			super();
			this.name = name;
			this.number = number;
		}
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public String getNumber() {
			return number;
		}
		public void setNumber(String number) {
			this.number = number;
		}
		
		
		
}

测试

studentMapper studentMapper =  sqlSession.getMapper(studentMapper.class);
		 
		parameter pa = new parameter("doctorL", "31501");
		
		 List<student> list  = studentMapper.getpassword(pa);
<?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="student.mapper.studentMapper">
  <select id="getpassword"   parameterType="student.pojo.parameter"  resultType  ="student.pojo.student">
    select  password from  student where studentName = #{name} and studentnumber = #{number}
  </select>
</mapper>


	public List<student> getpassword(parameter pa);

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值