Maison  >  Questions et réponses  >  le corps du texte

java - Mybatis 参数类型问题,应该是Map,结果报错.

我写了个查询接口,传入的参数是个Map,写SQL的时候,我在parameterType填写java.util.Map,调用居然报错,类型转换错误,String转map失败.我把parameterType改为String就没报错,结果出来了,但是我传入的是2个值啊!!!!!真崩溃~!
代码如下:
接口:

报错的XML:

修改为这样就正常了:

但是我SQL里是多个参数啊,不应该用Map么???求大神解答疑惑

阿神阿神2743 Il y a quelques jours843

répondre à tous(5)je répondrai

  • 天蓬老师

    天蓬老师2017-04-18 10:53:33

    Votre carte est nulle. Vous pouvez poster l'erreur

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 10:53:33

    Parce que vous n'avez pas spécifié l'annotation @Param dans la méthode de l'interface du mappeur, lorsqu'il n'y a qu'un seul paramètre, il sera automatiquement démonté. Les types de cartes sont divisés par <String, Object>. Les types de données complexes sont répartis selon getter.

    Vous pouvez vous référer à ceci : https://my.oschina.net/triday... .

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:53:33

    Vous précisez la valeur clé de la Map dans l'interface

    répondre
    0
  • PHPz

    PHPz2017-04-18 10:53:33

    Il se peut que l'interface Map ne précise pas de type. Il est recommandé d'apporter quelques modifications :

    public Module selectByMap(Map<String, Object> map)

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:53:33

    Propriétaire, je rencontre le même problème que vous. D'après votre réponse au commentaire, le type de paramètre dans le fichier mappeur est modifié en hashMap. La couche DAO n'a besoin d'aucune annotation. identique au vôtre, mais vous n'obtenez toujours pas la valeur, résolvez

    répondre
    0
  • Annulerrépondre