zoukankan      html  css  js  c++  java
  • MyBatis配置Mapping,JavaType和JDBCType的对应关系,#与$区别

    Mybatis中javaType和jdbcType对应关系:
    JDBC Type               Java Type
    CHAR                   String
    VARCHAR                 String
    LONGVARCHAR               String
    NUMERIC                  java.math.BigDecimal
    DECIMAL                   java.math.BigDecimal
    BIT                      boolean
    BOOLEAN                  boolean
    TINYINT                     byte
    SMALLINT                  short
    INTEGER                    int
    BIGINT                   long
    REAL                      float
    FLOAT                   double
    DOUBLE                   double
    BINARY                     byte[]
    VARBINARY                   byte[]
    LONGVARBINARY              byte[]
    DATE                      java.sql.Date
    TIME                       java.sql.Time
    TIMESTAMP                 java.sql.Timestamp
    CLOB                      Clob
    BLOB                       Blob
    ARRAY                    Array
    DISTINCT                mapping of underlying type
    STRUCT                    Struct
    REF                       Ref
    DATALINK                java.net.URL[color=red][/color]

    样例:

     1 <resultMap type="java.util.Map" id="resultData">  
     2   <result property="FLD_NUMBER" column="FLD_NUMBER"  javaType="double" jdbcType="NUMERIC"/>  
     3   <result property="FLD_VARCHAR" column="FLD_VARCHAR" javaType="string" jdbcType="VARCHAR"/>  
     4   <result property="FLD_DATE" column="FLD_DATE" javaType="java.sql.Date" jdbcType="DATE"/>  
     5   <result property="FLD_INTEGER" column="FLD_INTEGER"  javaType="int" jdbcType="INTEGER"/>  
     6   <result property="FLD_DOUBLE" column="FLD_DOUBLE"  javaType="double" jdbcType="DOUBLE"/>  
     7   <result property="FLD_LONG" column="FLD_LONG"  javaType="long" jdbcType="INTEGER"/>  
     8   <result property="FLD_CHAR" column="FLD_CHAR"  javaType="string" jdbcType="CHAR"/>  
     9   <result property="FLD_BLOB" column="FLD_BLOB"  javaType="Blob" jdbcType="BLOB" />  
    10   <result property="FLD_CLOB" column="FLD_CLOB"  javaType="string" jdbcType="CLOB"/>  
    11   <result property="FLD_FLOAT" column="FLD_FLOAT"  javaType="float" jdbcType="FLOAT"/>  
    12   <result property="FLD_TIMESTAMP" column="FLD_TIMESTAMP"  javaType="java.sql.Timestamp" jdbcType="TIMESTAMP"/>  
    13  </resultMap> 

     MyBatis 占位符#和 $ 的区别如下:

      #符号将传入的数据都当做一个字符串,会对自动传入的数据加一个双引号;

      $ 符号将传入的数据直接显示生成 SQL 中;

      #符号存在预编译的过程对问号赋值,防止 SQL 注入

      $ 符号是直译的方式,一般用在 order by ${列名}语句中;

      能用#号就不要用 $ 符号,$符号主要用于order by

  • 相关阅读:
    label 选择: soft label or hard label?
    预训练模型 | MASS:更适合seq2seq类任务
    文本相似度计算/文本比较算法
    论文阅读 | Is BERT Really Robust? A Strong Baseline for Natural Language Attack on Text Classification and Entailment
    论文阅读 | Lite Transformer with Long-Short Range Attention
    预训练模型 | ELECTRA: Efficiently Learning an Encoder that Classifies Token Replacements Accurately
    Transformer 及其家族( Transformer-XL, Reformer... )
    java线程池01-ThreadPoolExecutor构造方法参数的使用规则
    快速排序算法
    mysql(4)—— 表连接查询与where后使用子查询的性能分析。
  • 原文地址:https://www.cnblogs.com/zengming/p/7769219.html
Copyright © 2011-2022 走看看