mybatis之动态SQL操作之查询
生活随笔
收集整理的這篇文章主要介紹了
mybatis之动态SQL操作之查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1)? 查詢條件不確定,需要根據情況產生SQL語法,這種情況叫動態SQL
/*** 持久層* @author AdminTC*/ public class StudentDao {/*** 動態SQL--查詢*/public List<Student> dynaSQLwithSelect(String name,Double sal) throws Exception{SqlSession sqlSession = MyBatisUtil.getSqlSession();try{Map<String,Object> map = new LinkedHashMap<String, Object>();map.put("pname",name);map.put("psal",sal);return sqlSession.selectList("mynamespace.dynaSQLwithSelect",map);}catch(Exception e){e.printStackTrace();sqlSession.rollback();throw e;}finally{sqlSession.commit();MyBatisUtil.closeSqlSession();}}public static void main(String[] args) throws Exception{StudentDao dao = new StudentDao();List<Student> studentList1 = dao.dynaSQLwithSelect("哈哈",null);for(Student student : studentList1){System.out.println(student.getId()+":"+student.getName()+":"+student.getSal());}System.out.println("--------------");List<Student> studentList2 = dao.dynaSQLwithSelect(null,7000D);for(Student student : studentList2){System.out.println(student.getId()+":"+student.getName()+":"+student.getSal());}System.out.println("--------------");List<Student> studentList3 = dao.dynaSQLwithSelect("哈哈",7000D);for(Student student : studentList3){System.out.println(student.getId()+":"+student.getName()+":"+student.getSal());}System.out.println("--------------");List<Student> studentList4 = dao.dynaSQLwithSelect(null,null);for(Student student : studentList4){System.out.println(student.getId()+":"+student.getName()+":"+student.getSal());}System.out.println("--------------");} }??? StudentMapper.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="mynamespace"><select id="dynaSQLwithSelect" parameterType="map" resultType="loaderman.Student">select id,name,sal from students<where><if test="pname!=null">and name=#{pname}</if><if test="psal!=null">and sal=#{psal}</if></where> </select> </mapper>?
轉載于:https://www.cnblogs.com/loaderman/p/10064445.html
總結
以上是生活随笔為你收集整理的mybatis之动态SQL操作之查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 农业银行信用卡商户分期手续费多少?手续费
- 下一篇: day36 Pyhton 网络编程03