0
点赞
收藏
分享

微信扫一扫

Mybatis-5-传参


文章目录

  • ​​1.传递参数使用@Param("参数命名的名字") 参数类型 参数​​
  • ​​2.getMapper的使用​​
  • ​​3.使用对象传参​​

1.传递参数使用@Param(“参数命名的名字”) 参数类型 参数

第一步:接口里面的定义
具体代码:

public List<Student> selectMultiParam(@Param("myname") String name,@Param("myage") int age);

Mybatis-5-传参_传递参数


第二步:

<select id="selectMultiParam" resultType="pojo.Student">

select id ,name,email,age from student where name=#{myname} or age=#{myage}

</select>

Mybatis-5-传参_mybatis_02

2.getMapper的使用

//6.【重要】执行指定的sql语句 sql的映射文件namespace+“.”+id
//String sqlid="dao.StudentDao"+"."+"selectStudents";
StudentDao dao=sqlSession.getMapper(StudentDao.class);
//7.执行语句
// List<Student> studentList=sqlSession.selectList(sqlid);
List<Student> studentList=dao.selectStudents();

3.使用对象传参

第一步:定义一个类

package vo;

public class QueryParam {
private String Param_name;
private Integer Pram_age;

public QueryParam(String param_name, Integer pram_age) {
Param_name = param_name;
Pram_age = pram_age;
}

public QueryParam() {
}

public String getParam_name() {
return Param_name;
}

public void setParam_name(String param_name) {
Param_name = param_name;
}

public Integer getPram_age() {
return Pram_age;
}

public void setPram_age(Integer pram_age) {
Pram_age = pram_age;
}
}

第二步:在接口定义查询的方式是类查询

public List<Student> selectMultiObject(QueryParam param);

Mybatis-5-传参_映射文件_03


第三步:在mapper写查询语句

Mybatis-5-传参_sql_04


简化版

Mybatis-5-传参_mybatis_05


第四步:

List studentList=dao.selectMultiObject(param);

这个param就是传入的对象

@Test
public void test_object() throws IOException {


//1.定义mybatis的主配置文件
String config = "mybatis1.xml";
//2.读取这个config表示的文件
InputStream in= Resources.getResourceAsStream(config);
//3.创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
//4.创建SqlSessionFactory对象
SqlSessionFactory factory=builder.build(in);
//5.【重要】获取SqlSession对象,从SqlSessionFactory里面取
SqlSession sqlSession=factory.openSession();
//6.【重要】执行指定的sql语句 sql的映射文件namespace+“.”+id
//String sqlid="dao.StudentDao"+"."+"selectStudents";
StudentDao dao=sqlSession.getMapper(StudentDao.class);
//7.执行语句
// List<Student> studentList=sqlSession.selectList(sqlid);
QueryParam param=new QueryParam("张三",28);
List<Student> studentList=dao.selectMultiObject(param);
//8.输出结果
studentList.forEach(stu-> System.out.println(stu));
//9.关闭SqlSession对象
sqlSession.close();

}


举报

相关推荐

0 条评论