mybatis 执行模糊查询有两种方式:
第一种:
模糊查询定义在sql语句上,一般不建议
TbStudent tbStudent = tbStudentMapper.getStuByName("zhangsan");
System.out.printf(tbStudent.toString());
<select id="getStuByName" parameterType="String" resultMap="myStu"> select * from tb_student where u_name like #{%name%} </select>
第二种:
模糊查询的条件定义在java代码里,建议使用该方法
String uName="%zhang%"; //System.out.printf(student.getuName()); TbStudent tbStudent = tbStudentMapper.getStuByName(uName); System.out.printf(tbStudent.toString());
<select id="getStuByName" parameterType="String" resultMap="myStu"> select * from tb_student where u_name like #{name} </select>
DEBUG [main] - ==> Preparing: select * from tb_student where u_name like ?
DEBUG [main] - ==> Parameters: %zhang%(String)
DEBUG [main] - <== Total: 1
TbStudent{uId=1, uName='zhangsan', sex='男', tId=101, tbTeacher=null}