示例【根据学生姓名和班级信息查询】
创建t_student表
创建Student
package com.po;
public class Student {
private Integer sid; //学号
private String sname; //姓名
private String sex; //性别
private String classes; //班级
public Integer getSid() {
return sid;
}
public void setSid(Integer sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getClasses() {
return classes;
}
public void setClasses(String classes) {
this.classes = classes;
}
@Override
public String toString() {
return "Student [sid=" + sid + ", sname=" + sname + ", sex=" + sex + ", classes=" + classes + "]";
}
}
创建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="com.mapper.StudentMapper">
<!-- 根据姓名和班级查询 -->
<select id="getStudentByNameAndClasses" resultType="com.po.Student">
select * from t_student where 1=1
<if test="sname!=null">
and sname like concat('%',#{sname},'%')
</if>
<if test="classes!=null">
and classes=#{classes}
</if>
</select>
</mapper>
配置mybatis-config.xml并加StudentMapper.xml
<mappers>
<mapper resource="com/mapper/StudentMapper.xml"/>
</mappers>
创建StudentDao
package com.dao;
import java.util.ArrayList;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.junit.jupiter.api.Test;
import com.factory.SessionFactory;
import com.po.Student;
public class StudentDao {
private SqlSession session=SessionFactory.getSqlSession();
private List<Student> students=new ArrayList<Student>();
@Test
public void getStudentByNameAndClasses(){
Student stu=new Student();
stu.setSname("张三");
stu.setClasses("大一");
students=session.selectList("com.mapper.StudentMapper.getStudentByNameAndClasses", stu);
for (Student student : students) {
System.out.println(student);
}
}
}
传递sname、classes两个参数,然后执行getStudentByNameAndClasses()方法
只传递classses参数,然后执行getStudentByNameAndClasses()方法