MyBatis中三种查询方式
Mapper文件代码
<mapper namespace="com.java.mapper.FlowerMapper">      <select id="selectAll" resultType="flower">           select *  from   flower         </select>          <select id="selectOne" resultType="flower">    select *  from flower  where  id=1   </select>               <select id="selectMore" resultType="map">     select  *  from  flower           </select>      
</mapper>测试文件
 public static void main(String[] args) throws IOException {//[1]解析mybatis.xml        InputStream is = Resources.getResourceAsStream("myBatis.xml");                        // [2]获得session工厂        SqlSessionFactory  factory=new SqlSessionFactoryBuilder().build(is);//[3]获得session对象       SqlSession session = factory.openSession();                        // [4]执行查询操作                        // √【A】查询方式一 使用于查询多条数据的时候          List<Flower> list = session.selectList("com.bjsxt.mapper.FlowerMapper.selectAll");                  // √【B】查询方式二   适用场景:查询最多是条数据的时候       Flower fl = session.selectOne("com.bjsxt.mapper.FlowerMapper.selectOne");                  // 【C】查询方式三  selectMap("执行的方法","希望数据库的哪一列作为key")         // 适用的场景 :查询的时候可以快速的通过某一列确定对应的数据          Map<Object, Object> map = session.selectMap("com.java.mapper.FlowerMapper.selectMore", "id");   Object fl = map.get(2);          System.out.println(fl);                  // [5]关闭session          session.close();                        }}
}MyBatis中三种参数传递
Mapper层代码
<!--方式一   public Flower  selectOne2(Integer  id) -->   
<select id="selectOne2" resultType="flower" parameterType="int">  select  *  from  flower  where  id=#{param1}          
</select>          
<!--方式二   public   Flower  selectOne3(Flower fl);  -->  
<select id="selectOne3" resultType="flower" parameterType="flower">  
<!--id=#{对象中的属性名}  -->       
select  *  from  flower  where  id=#{id}  and  name=#{name}  
</select>
<!--方式三   public   Flower  selectOne3(Flower fl);  -->    
<select id="selectOne4" resultType="flower">            
select  *  from   flower  where  id=${a}  and name=${b}   
</select>
测试文件
//【A】参数传递一Flower fl = session.selectOne("com.java.mapper.FlowerMapper.selectOne2", 1);
// 【B】参数传递二
// Flower fl=new Flower();
fl.setId(1);fl.setName("玫瑰花");
// 【C】参数传递三Map<String,Object>  map=new HashMap<>();
map.put("a", 1);
map.put("b", "'玫瑰花'");
Flower flo = session.selectOne("com.java.mapper.FlowerMapper.selectOne4", map);
System.out.println(flo);[1]mybatis中parameterType 这个属性可以省略的 但是 resultType 是不可以省略的
 [2]#{} 相当于占位符 ${} 相当于拼接