Mybatis-5-传参

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

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


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

在这里插入图片描述
第二步:

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

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

</select>

在这里插入图片描述

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

在这里插入图片描述
第三步:在mapper写查询语句

在这里插入图片描述
简化版
在这里插入图片描述
第四步:
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();

   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码浪人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值