zoukankan      html  css  js  c++  java
  • mybatis传参

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

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

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

    具体如下:

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

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

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

  • 相关阅读:
    jQuery prop方法
    ftp550权限问题
    一个很适合用来套用后台的框架
    Ajax中post方法400和404的问题
    图片上传,直接通过js预览
    JavaScript的DOM扩展
    DevExpress v16.1.5图表、Dashboard等多个控件API发生变化
    MyEclipse 2016正式版更新内容
    Smart Tag——DevExpress WPF初探
    MyEclipse使用心得:集成和使用Maven的方法
  • 原文地址:https://www.cnblogs.com/Zs-book1/p/10989785.html
Copyright © 2011-2022 走看看