一、Flowermapper2.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.company.mapper.Flowermapper2">
<!--parameterType是传的参数的数据类型-->
<select id="selectOne" resultType="flower" parameterType="int">
<!--id的值可以进行参数传递 普通类型使用#{prama1}-->
select * from flower where id=#{param1}
</select>
<!--传递多个参数 使用数组或者对象-->
<select id="selectOne2" resultType="flower" parameterType="flower">
<!-- id的值可以进行参数传递 对象使用属性名,其实是自动调用get方法-->
select * from flower where id=#{id} and name = #{name}
</select>
<!--传递map存储参数 属性不属于同一个对象时-->
<select id="selectMap" resultType="flower" parameterType="map">
<!-- id的值可以进行参数传递 对象使用属性名,其实是自动调用get方法-->
select * from flower where id=#{a} and name = #{b}
</select>
</mapper>
二、test
package com.company.test;
import com.company.entity.Flower;
import jdk.nashorn.internal.ir.CallNode;
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 sun.plugin2.os.windows.FLASHWINFO;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class testB {
public static void main(String[] args) throws IOException {
//解析mybatis.xml文件
InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
//获得session工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
//获得session对象
SqlSession session = factory.openSession();
//调用方法
//参数传递一:传递单个参数
Flower flower2 = session.selectOne("com.company.mapper.Flowermapper2.selectOne",2);
System.out.println(flower2);
//参数传递二:传递对象参数
Flower flower = new Flower(1, "玫瑰花", 15, "中国");
Flower flower3 = session.selectOne("com.company.mapper.Flowermapper2.selectOne2",flower);
System.out.println(flower3);
//参数传递三:传递map集合
Map<String,Object> map = new HashMap<>();
map.put("a",1);
map.put("b","玫瑰花");
Flower flower4 = session.selectOne("com.company.mapper.Flowermapper2.selectMap", map);
System.out.println(flower4);
//关闭资源
session.close();
}
}
一定要在mybatis.xml文件中的中加载mapper文件!!!