mysql-数据类型与java数据类型转化工具类

本文详细介绍了MySQL数据库中的各种数据类型与Java编程语言中对应类型的映射关系,包括字符串类型、数值类型、日期时间类型等,并提供了转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql和java对照表

类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)描述
      
VARCHARL+NVARCHARjava.lang.String12 
CHARNCHARjava.lang.String1 
BLOBL+NBLOBjava.lang.byte[]-4 
TEXT65535VARCHARjava.lang.String-1 
      
INTEGER4INTEGER UNSIGNEDjava.lang.Long4 
TINYINT3TINYINT UNSIGNEDjava.lang.Integer-6 
SMALLINT5SMALLINT UNSIGNEDjava.lang.Integer5 
MEDIUMINT8MEDIUMINT UNSIGNEDjava.lang.Integer4 
BIT1BITjava.lang.Boolean-7 
BIGINT20BIGINT UNSIGNEDjava.math.BigInteger-5 
FLOAT4+8FLOATjava.lang.Float7 
DOUBLE22DOUBLEjava.lang.Double8 
DECIMAL11DECIMALjava.math.BigDecimal3 
BOOLEAN1同TINYINT   
      
ID11PK (INTEGER UNSIGNED)java.lang.Long4 
      
DATE10DATEjava.sql.Date91 
TIME8TIMEjava.sql.Time92 
DATETIME19DATETIMEjava.sql.Timestamp93 
TIMESTAMP19TIMESTAMPjava.sql.Timestamp93 
YEAR4YEARjava.sql.Date91






对于bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在java中对应byte[]数组。

对于boolen类型,在mysql数据库中,个人认为用int类型代替较好,对bit操作不是很方便,尤其是在具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。

 

    /**
     * 数据类型转化JAVA
     * @param sqlType:类型名称
     * @return
     */
    public static String toSqlToJava(String sqlType) {
        if( sqlType == null || sqlType.trim().length() == 0 ) return sqlType;
        sqlType = sqlType.toLowerCase();
        switch(sqlType){
            case "nvarchar":return "String";
            case "char":return "String";
            case "varchar":return "String";
            case "text":return "String";
            case "nchar":return "String";
            case "blob":return "byte[]";
            case "integer":return "Long";
            case "tinyint":return "Integer";
            case "smallint":return "Integer";
            case "mediumint":return "Integer";
            case "bit":return "Boolean";
            case "bigint":return "java.math.BigInteger";
            case "float":return "Fload";
            case "double":return "Double";
            case "decimal":return "java.math.BigDecimal";
            case "boolean":return "Boolean";
            case "id":return "Long";
            case "date":return "java.util.Date";
            case "datetime":return "java.util.Date";
            case "year":return "java.util.Date";
            case "time":return "java.sql.Time";
            case "timestamp":return "java.sql.Timestamp";
            case "numeric":return "java.math.BigDecimal";
            case "real":return "java.math.BigDecimal";
            case "money":return "Double";
            case "smallmoney":return "Double";
            case "image":return "byte[]";
            default:
                System.out.println("-----------------》转化失败:未发现的类型"+sqlType);
                break;
        }
        return sqlType;
    }

 

转载于:https://www.cnblogs.com/hwaggLee/p/5111019.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值