MySql 字段类型对应 Java 实体类型

MySql 字段类型对应 Java 实体类型MySql 字段类型对应 Java 实体类型前言 CopyMySQLCon J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的 一般来讲 任何 MySql 数据类型都可以被转换为一个 java lang String 任何 MySql 数字类型都可以被转换为任何一种 Java 数字类型 当然这样也可能出一些四舍五入 溢出 精度丢失之类的问题 Java 基础类型与包装类型 Copya 如果数据库字段是允许为空的 使用包

前言

 

MySQL Connector/J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的: 一般来讲,任何 MySql 数据类型都可以被转换为一个 java.lang.String。 任何 MySql 数字类型都可以被转换为任何一种 Java 数字类型。 (当然这样也可能出一些四舍五入,溢出,精度丢失之类的问题)。

Java基础类型与包装类型

 

a)   如果数据库字段是允许为空的,使用包装类。   如果不允许为空,使用包装的时候,如果你往数据库插入null值,此时就会抛出异常。   然后你就可以对异常进行捕获并处理。 b)   使用基本数据类型的时候,如果字段是NULL,那么JDBC会返回0,但是这里会有一个问题。   有可能0在你的业务逻辑代表着特定含义,这时候就可能出现一些意想不到的后果。 总结:在项目中去使用包装类型而不是基本数据类型,这样可以使你编写代码更简单

ResultSet.getObject() 对 MySql 类型和 Java 类型转换表

MySql 类型名 GetColumnClassName 返回值 返回的 Java 类
bit(1) (MySQL-5.0) BIT java.lang.Boolean
bit(大于1) (MySQL-5.0) BIT byte[]
tinyint TINYINT 如果 tinyInt1isBit 配置设置为 true(默认为 true),是java.lang.Boolean,存储空间为 1;否则是为 java.lang.Integer
bool boolean TINYINT 参见 TINYINT。这些是 TINYINT(1) 另一种写法
smallint(M) [unsigned] SMALLINT [UNSIGNED] java.lang.Integer(不管是否无符)
mediumint(M) [unsigned] MEDIUMINT [UNSIGNED] java.lang.Integer
int integer(M) [unsigned] INTEGER [UNSIGNED] java.lang.Integer;无符的话是 java.lang.Long
bigint(M) [unsigned] BIGINT [UNSIGNED] java.lang.Long;无符的话是 java.math.BigInteger
float(M,D) FLOAT java.lang.Float
double(M,B) DOUBLE java.lang.Double
decimal(M,D) DECIMAL java.math.BigDecimal
date DATE java.sql.Date
datetime DATETIME java.sql.Timestamp
timestamp(M) TIMESTAMP java.sql.Timestamp
time TIME java.sql.Time
year(2/4) YEAR 如果 yearIsDateType 配置设置为 false,返回的对象类型为 java.sql.Short;如果设置为 true(默认为 true),返回的对象类型是 java.sql.Date,其具体时间是为一月一日零时零分
char(M) CHAR java.lang.String(除非该列字符集设置为 BINARY,那样返回 byte[])
varchar(M) [binary] VARCHAR java.lang.String(除非该列字符集设置为 BINARY,那样返回 byte[])
binary(M) BINARY byte[]
varbinary(M) VARBINARY byte[]
tinyblob TINYBLOB byte[]
tinytext VARCHAR java.lang.String
blob BLOB byte[]
text VARCHAR java.lang.String
mediumblob MEDIUMBLOB byte[]
mediumtext VARCHAR java.lang.String
longblob LONGBLOB byte[]
longtext VARCHAR java.lang.String
enum(‘value1′,’value2’,…) CHAR java.lang.String
set(‘value1′,’value2’,…) CHAR java.lang.String

Mysql字段类型

decimal(8,2): 有2位小数的定点数,定点数支持很大的数(甚至是超过int,bigint存储范围的数) decimal不会损失精度,存储空间会随数据的增大而增大。double占用固定空间,较大数的存储会损失精度。 字符串型: 定长与变长的区别,CHAR类型占用空间比较大,但是处理速度比VARCHAR快。 如果长度变化不大,最好选择CHAR类型。对于长度不确定的,最好选择VARCHAR。

MySql 字段类型对应 Java 实体类型

MySql 字段类型对应 Java 实体类型

MySql 字段类型对应 Java 实体类型

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232367.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Edge(Linux 版)无法正常同步问题解决

    Edge(Linux 版)无法正常同步问题解决Edge浏览器(Linux版)同步问题解决

    2022年7月21日
    17
  • vmware不可恢复的vcpu-0_vmware与device不兼容

    vmware不可恢复的vcpu-0_vmware与device不兼容VMwareWorkstation不可恢复错误:(vcpu-0)解决方法我的虚拟机解决方案,真实实用你可以使用下面的解决办法:1、在安装的虚拟机处右键->设置>处理器>虚拟化引擎>首选模式,选择“IntelVT-xorAMD-V";2、在运行虚拟机后提示:此主机支持IntelVT-x,但被禁用了!重启电脑进入BIO

    2022年9月27日
    2
  • Servlet.service() for servlet [dispatcherServlet] in context with path [] th

    Servlet.service() for servlet [dispatcherServlet] in context with path [] th控制台报错信息Servlet.service()forservlet[dispatcherServlet]incontextwithpath[]threwexception[Requestprocessingfailed;nestedexceptionisjava.lang.NullPointerException]withrootcausee1.controller层没有加@ResponseBody2.Service层实现类未添加注解@Autowired记

    2022年5月8日
    326
  • 谈谈 Java 中自定义注解及使用场景

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:快给我饭吃 www.jianshu.com/p/a7bedc771204 Java自定义注解一般使用场景为:自…

    2021年6月24日
    81
  • oninput事件

    oninput事件js监听input等表单输入框的变化事件oninput,手机页面开发中使用到文本框textarea输入字符监听文本框变化计算还可以输入多少字符,如果使用onkeyup的话是无法监听到输入法输入的文本变化的,复制粘贴也不能监听到,于是就用到了oninput事件来监听文本框value值的改变。由于是手机端页面没有考虑IE这货。js代码如下://计算文本输入统计(function

    2022年6月11日
    83
  • reaver 和 aircrack-ng 安装与使用

    reaver 和 aircrack-ng 安装与使用安装1.下载reaver最新版本(这里用1.4) 2.解压: tar-xvfreaver-1.4.tar.gz3.cdreaver-1.4/src4../configure5.sudomake6.sudomakeinstall如果缺少库的话在./configure 时会有提示。我在安装时提示缺少pcaplibrary.于是s

    2022年5月27日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号