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());
}