Mybatis之jdbcType的重要性


            Mybatis之jdbcType

  在mapper.xml中,寫java類映射數據庫表字段的時候,有jdbcType,之前並沒有很注意,發現有些人習慣在寫mybatis寫sql的時候,映射關聯參數時喜歡加上jdbcType=xxx

  

<insert id="insert"  parameterType="java.xx.xx" >
		insert into table_xxx values(
          name = #{name,jdbcType=VARCHAR}
          )
) </insert>

  例如上面的jdbcType=VARCHAR,這是為了程序的安全性,使一些特殊情況,當傳入的參數為name為空時不會使程序出現問題,當name為空時,mybatis不知道具體要轉換成什么jdbcType類型,有些特殊情況會報錯,Mybatis經常出現的:無效的列類型: 1111 錯誤,就是因為沒有設置JdbcType造成的。以后還是必須加jdbcType了,下面給出一些常見的jdbcType和java類型的對應:

 

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             INTEGER  
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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM