• mybatis传参


    在mybatis的学习中,会发现经常需要传参,这里以上一节写的实体类为基础,当我们要添加一个员工时,需要添加员工的基本信息,以及所属部门,按照以前的方法,在实体类中,添加部门id属性,然后通过有参构造的方法传递对象,读取对象的部门id就可以了,但是现在使用mybatis时,因为是一对多的关系,因此实体类中设置的属性是Dept属性的,没有did,因此没有办法通过有参构造的方法来传递参数,这时就要想办法将部门的id传递过去。因此需要给之前的实体类的有参构造进行修改,

    这样就员工的对象就可以使用有参构造来创建对象,那么添加员工的信息的dao层以及mapper文件如下:

    这是就会出现问题,分析原因:因为dao层在传参时,如果参数是实体的话,就可以直接在mapper中设置参数类型来解析,但是如果不是实体的话,就没办法解析了,因此当参数不是实体时,需要 用注解。

    具体如下:

    当使用@param注解传参时,insert标签可以不写参数类型型属性,因为参数有多个属性,所以是通过注解来区分的,当参数为对象时,调用对象的属性为 参数.属性,通过.来调用,就像本例中的emp.ename

    在这里要说明,在mapper文件中使用#{}传递参数,当传递多个参数时, dao层@param()内的值就是在mapper文件中#{}变量的名字,通过@param()注解来传递参数。单个参数可以不需要设置注解,需要指定参数调用的名字就需要设置

    在mybatis中传参分为参数传递(需要加注解),实体传参,map传参。

  • 相关阅读:
    网页居中的问题
    棋盘覆盖
    可变宽度的圆角框
    多线程编辑问题
    实验五 Web项目开发
    实验三 一个标准的Windows应用程序
    【语言处理与Python】1.2将文本当作词链表
    【语言处理与Python】1.5自动理解自然语言
    【语言处理与Python】1.1文本和单词
    【语言处理与Python】1.3计算语言:简单的统计
  • 原文地址:https://www.cnblogs.com/Zs-book1/p/10989785.html
Copyright © 2020-2023  润新知