Mybatis基础(五)输入输出参数类型


一、输入输出参数类型

在mybatis的映射文件中

parameterType定义了输入参数的类型,

resultType定义了输出参数的类型

1.编写一个排序查询(输入类型为String,输出类型为实体类)

使用的数据库表:
在这里插入图片描述
实体类:

package entity;

public class Student {
    
    
	private int sn;
	private String sname;
	private boolean ssex;
	private Address address;
	
	public Address getAddress() {
    
    
		return address;
	}
	public void setAddress(Address address) {
    
    
		this.address = address;
	}
	public int getSn() {
    
    
		return sn;
	}
	public void setSn(int sn) {
    
    
		this.sn = sn;
	}
	public String getsname() {
    
    
		return sname;
	}
	public void setsname(String sname) {
    
    
		this.sname = sname;
	}
	public boolean getSsex() {
    
    
		return ssex;
	}
	public void setSsex(boolean ssex) {
    
    
		this.ssex = ssex;
	}
	@Override
	public String toString() {
    
    
		return this.sname+"\t";
		}
}

定义配置文件mapper.xml

<select id="ordersn" parameterType="string" resultType="entity.Student">
	select * from student1 order by ${value} asc
</select>

:#{参数}会给String类型的参数自动加上引号,而${参数}是将数值原样输出,这里是按学号(sn)输入的,所以不能使用#{sn},否则就是’sn’了****

定义接口:

	List <Student> ordersn(String sn);

写一个测试方法:

public static void ordersn()throws IOException{
    
    
		String resource="conf.xml";
		Reader reader=Resources.getResourceAsReader(resource);
		SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader);
		SqlSession session=sessionFactory.openSession();
		StudentDao st=session.getMapper(StudentDao.class);
		List<Student> stu=st.ordersn("sn");
		System.out.println(stu);
		session.close();
	}

运行测试方法,查看结果:

在这里插入图片描述

2.编写一个输入类型整型,输出为hashMap类型的测试程序:

数据库表和实体类同上

定义配置文件mapper.xml

<select id="findhashmap" parameterType="int" resultType="HashMap">
	select sn "no",sname "name"from student1 where sn=#{sn}
</select>

定义接口:

HashMap<String,Object> findhashmap(int sn);

编写测试方法:

public static void testhashmap(int sn)throws IOException{
    
    
		String resource="conf.xml";
		Reader reader=Resources.getResourceAsReader(resource);
		SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader);
		SqlSession session=sessionFactory.openSession();
		StudentDao st=session.getMapper(StudentDao.class);
		HashMap<String,Object> studentMap=st.findhashmap(sn);
		System.out.println("学号: "+studentMap.get("no")+" \n姓名: "+studentMap.get("name"));
	}

运行测试方法:

在这里插入图片描述

运行成功!

猜你喜欢

转载自blog.csdn.net/qq_46046423/article/details/113249134
今日推荐