1 package com.bjpowernode.dao;
2
3 import com.bjpowernode.domain.Student;
4 import org.apache.ibatis.annotations.Param;
5
6 import java.util.List;
7
8 /*创建dao接口,实现操作sql的方法*/
9 public interface StudentDao {
10 //实现一个查询数据库所有数据的方法,返回的是一个list列表
11 List<Student> selectStudents();
12 //实现一个查询数据库部分数据的方法,只有一个参数的情况,假设只返回一条数据
13 /**
14 * 一个简单类型的参数,简单类型:mybatis把java的基本数据类型和String都叫做简单类型
15 * 在mapper文件获取简单类型的参数值,使用#{任意字符}
16 * */
17 Student selectStudentById(Integer id);
18 //实现一个查询数据库部分数据的方法,使用多个参数
19
20 /**
21 * 多个参数
22 * @param id
23 * @param age
24 * @return List<Student>
25 * 多个参数:命名参数,在形参定义的前面加入@Param("自定义参数名称")
26 */
27 List<Student> selectStudentsByIdOrAge(@Param("myid") Integer id, @Param("myage") Integer age);
28 //实现一个插入数据库数据的方法,往数据库插入数据
29 int insertStudent(Student student);
30
31 /**
32 * 使用对象作为参数,参数Student stu,可以用当前的Student,也可以重新定义,重新定义的话,参数名也需要和实际要查询的一致
33 */
34 List<Student> selectStudentsByMultiObject(Student stu);
35 }
<!--使用对象的参数-->
<select id="selectStudentsByMultiObject" resultType="com.bjpowernode.domain.Student">
select id,name,email,age from student where age=#{age} or name = #{name}
</select>
========================================================================================================================
实际方法调用
===========================================
@Test
public void testSelectStudentsByMultiObject(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
StudentDao dao = sqlSession.getMapper(StudentDao.class);
Student student = new Student();
student.setAge(28);
student.setName("张三");
List<Student> list = dao.selectStudentsByMultiObject(student);
for(Student student1 : list){
System.out.println(student1);
}
}