mybatis动态sql查询语法

来源:互联网 发布:mac os iso下载 编辑:程序博客网 时间:2024/05/02 06:01

1.StudentDao

package cn.itcast.app04;import java.util.LinkedHashMap;import java.util.List;import java.util.Map;import org.apache.ibatis.session.SqlSession;import cn.itcast.util.MybatisUtil;public class StudentDao {//有条件的查询public List<Student> findAll(Integer id,String name,Double sal) throws Exception{SqlSession sqlSession=null;try{sqlSession=MybatisUtil.getSqlSession();Map<String,Object> map=new LinkedHashMap<String,Object>();map.put("pid", id);map.put("pname", name);map.put("psal",sal);return sqlSession.selectList(Student.class.getName()+".findAll", map);}catch(Exception e){e.printStackTrace();throw e;}finally{MybatisUtil.closeSqlSession();}}//测试public static void main(String[] args) throws Exception{StudentDao dao=new StudentDao();List<Student> studentList=dao.findAll(null,null,null);for(Student s:studentList){System.out.println(s.getId()+":"+s.getName()+":"+s.getSal());}}}
2.映射文件

<?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="cn.itcast.app04.Student">    <resultMap type="cn.itcast.app04.Student" id="studentMap">       <id property="id" column="id"></id>       <result property="name" column="name"/>       <result property="sal" column="sal"/>     </resultMap>       <select id="findAll" parameterType="map" resultType="cn.itcast.app04.Student">        select id,name,sal from students         <where>          <if test="pid!=null">              and id=#{pid}          </if>          <if test="pname!=null">              and name=#{pname}          </if>          <if test="psal!=null">              and sal=#{psal}          </if>        </where>   </select></mapper>


0 0
原创粉丝点击