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

  • 相关阅读:
    【转】编写高质量代码改善C#程序的157个建议——建议41:实现标准的事件模型
    【转】编写高质量代码改善C#程序的157个建议——建议40:使用event关键字为委托施加保护
    【转】编写高质量代码改善C#程序的157个建议——建议39:了解委托的实质
    【转】编写高质量代码改善C#程序的157个建议——建议38:小心闭包中的陷阱
    【转】编写高质量代码改善C#程序的157个建议——建议37:使用Lambda表达式代替方法和匿名方法
    7.FactoryBean 和BeanFactory去区别
    6.2-SingletonBeanRegistry-DefaultSingletonBeanRegistry
    6.1-AliasRegistry
    ConfigurableBeanFactory
    4.AutowireCapableBeanFactory 自动装配工厂
  • 原文地址:https://www.cnblogs.com/zengming/p/7769219.html
Copyright © 2011-2022 走看看