mybatis三种(查询,参数传递)
生活随笔
收集整理的這篇文章主要介紹了
mybatis三种(查询,参数传递)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
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]執(zhí)行查詢操作 // √【A】查詢方式一 使用于查詢多條數(shù)據(jù)的時候 List<Flower> list = session.selectList("com.bjsxt.mapper.FlowerMapper.selectAll"); // √【B】查詢方式二 適用場景:查詢最多是條數(shù)據(jù)的時候 Flower fl = session.selectOne("com.bjsxt.mapper.FlowerMapper.selectOne"); // 【C】查詢方式三 selectMap("執(zhí)行的方法","希望數(shù)據(jù)庫的哪一列作為key") // 適用的場景 :查詢的時候可以快速的通過某一列確定對應(yīng)的數(shù)據(jù) Map<Object, Object> map = session.selectMap("com.java.mapper.FlowerMapper.selectMore", "id"); Object fl = map.get(2); System.out.println(fl); // [5]關(guān)閉session session.close(); }} }MyBatis中三種參數(shù)傳遞
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】參數(shù)傳遞一Flower fl = session.selectOne("com.java.mapper.FlowerMapper.selectOne2", 1); // 【B】參數(shù)傳遞二 // Flower fl=new Flower(); fl.setId(1);fl.setName("玫瑰花"); // 【C】參數(shù)傳遞三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]#{} 相當于占位符 ${} 相當于拼接
總結(jié)
以上是生活随笔為你收集整理的mybatis三种(查询,参数传递)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel中多个工作表汇总求和excel
- 下一篇: Excel数据库求和技巧数据库怎么求和