Java:如何将MySQL DECIMAL(39,0)IP地址转换为String

Jus*_*tin 2 java mysql networking

所以我被告知这里的DBA将在我们的MySQL数据库的DECIMAL(39,0)字段中存储IP地址.

我怎样才能将其转换为String以传递给我们的其他应用程序?

注意:我们的数据库不能承担更多负载,因此尽可能多的工作需要在Java应用程序中完成.

注2:IPv6支持是必须的.

Vin*_*lds 5

使用

INET_NTOA

例如:SELECT INET_NTOA(num)AS ipaddr;

INET_ATON

例如:INSERT INTO addrTbl VALUES(...,INET_ATON('192.168.0.1'),...)

这是因为IPv4最初设计为将IP地址定义为32位数字.该点分十进制是readbility.

更新

如果您希望在Java中执行从数字到点十进制表示法的转换,MindProd站点就有一个示例.