zoukankan      html  css  js  c++  java
  • MyBatis 传递多个参数的几种方法

     

    简介:

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

    现在可以使用xml的形式,也可以使用注解的形式,因人而异,各有各的优缺点,甚至可以互相弥补,要是都喜欢用,可以同时使用注解和xml的形式,但是俺还是喜欢用注解的形式

    第一种、顺序(索引)传参

    @Select("SELECT * FROM USER WHERE USERNAME=#{0} AND USERID = #{1}")
    public List<Map<String, Object>> getUserInfo(String userName, String userId)

    #{ }里边表示传入此方法的参数顺序,

    第二种、注解@Param传参

    @Select("SELECT * FROM USER WHERE USERNAME=#{userName} AND USERID = #{userId}") 

    public List<Map<String, Object>> getUserInfo(@Param("userName")String userName, @Param("userId")String userId)

    #{ }里边表示注解@Param括号里边的参数

    这种情况就跟参数顺序无所谓了

    第三种、Map对象传参

    @Select("SELECT * FROM USER WHERE USERNAME=#{userName} AND USERID = #{userId}") 
    
    public List<Map<String, Object>> getUserInfo(Map<String, Object> params)

    #{ }里边表示map的key,推荐使用这一种,比较灵活

    第四种、Java Bean传参

    @Select("SELECT * FROM USER WHERE USERNAME=#{userName} AND USERID = #{userId}") 
    
    public List<Map<String, Object>> getUserInfo(User user)

    这里不写bean了,#{ }表示User类里边的成员属性

  • 相关阅读:
    tensorboard的log查看方法
    liunx系统中安装lua以及torch
    maven安装问题解决
    使用git将代码上传到GitHub
    解决引入keras后出现的Using TensorFlow backend的错误
    ubuntu下 pycharm使用andcoda下的tensorflow
    HTTP概览
    c++容器
    C++注意
    Strint类成员
  • 原文地址:https://www.cnblogs.com/LiuFqiang/p/11844691.html
Copyright © 2011-2022 走看看