sql下的xml配置文件中特殊使用的sql语句编写

1、使用服用的sql语句------------查询学生表所有字段

<sql id="selectAllStuAll">

select stu.id,stu.name,stu.sex,stu.email,stu.classId

from student stu

</sql>

然后可以引用上面的sql语句,之间根据学生id查询相应学生的信息;

<select id="getStudent" parameterType="String" resultMap="studentResultMap">

<include refid="selectAllStuAll"/>

where stu.id=#{id}

</select>

以上是使用sql语句复用,直接进行根据id查询;

2、根据基本数据类型参数,进行查询数据:【带有一个时间参数】

Xml代码
<!-- 查询学生list,根据入学时间,只有一个时间参数  --> 
<select id="getStudentListByDate"  parameterType="Date" resultMap="studentResultMap"> 
    select * from student st left join class c on st.classId = c.classId  where c.classYear =#{classYear}

</select>
Java代码
List<StudentEntity> studentList = studentMapper.getStudentListByClassYear(StringUtil.parse("2007-9-1")); //StringUtil.parse("2007-9-1")对赋值的参数进行格式转换,然后直接调用即可;
for (StudentEntity entityTemp : studentList) { 
    System.out.println(entityTemp.toString()); 
}

3、java实体类型参数

---根据学生姓名及性别查询学生信息,这样子将其作为一个实体参数传入:

Xml代码
<!-- 查询学生list,like姓名、=性别,参数entity类型 --> 
<select id="getStudentListWhereEntity" parameterType="StudentEntity" resultMap="studentResultMap"> 
    select * from student stu  where stu.name like concat(concat('%',#{name}),'%')  and stu.sex = #{sex}

</select> 
Java代码
 
 StudentEntity entity = new StudentEntity(); 
  entity.setStudentName("李"); 
  entity.setStudentSex("男"); 
  List<StudentEntity> studentList = studentMapper.getStudentListWhereEntity(entity); 
  for (StudentEntity entityTemp : studentList) { 
      System.out.println(entityTemp.toString()); 
  } 

 

posted @ 2015-08-27 20:55  FanSunny  阅读(1328)  评论(0编辑  收藏  举报