java resultset 获取枚举型数据

mysql数据库中有枚举型的数据,那么resultset有没有哪个方法可以获取到枚举型数据的值?... mysql数据库中有枚举型的数据,那么resultset有没有哪个方法可以获取到枚举型数据的值? 展开
 我来答
lovepetrel
推荐于2016-10-05 · TA获得超过1531个赞
知道小有建树答主
回答量:857
采纳率:100%
帮助的人:0
展开全部
楼上的。。mysql里有这种类型,是一种字符串类数据列类型
ENUM('value1','value2',...) 65535个成员 1或2字节
但是用的比较少。。。

你得写程序自己处理下,大概是下边这样

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class EnumTesting {
Connection connection;

Statement statement;

public EnumTesting() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager
.getConnection("jdbc:mysql://192.168.1.25/test?user=spider&password=spider");
} catch (Exception e) {
System.err.println("Unable to find and load driver");
System.exit(1);
}
}

public void doWork() {
try {
statement = connection.createStatement();
ResultSet rs = statement
.executeQuery("SHOW COLUMNS FROM enumtest LIKE 'status'");

rs.next();
String enums = rs.getString("Type");
System.out.println(enums);
int position = 0, count = 0;
String[] availableEnums = new String[10];

while ((position = enums.indexOf("'", position)) > 0) {
int secondPosition = enums.indexOf("'", position + 1);
availableEnums[count++] = enums.substring(position + 1,
secondPosition);

position = secondPosition + 1;
System.out.println(availableEnums[count - 1]);
}

rs.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
Enum e = new Enum();
e.doWork();
}
}
舒畅还温文尔雅丶繁星i
2015-11-07 · TA获得超过2.9万个赞
知道大有可为答主
回答量:6427
采纳率:65%
帮助的人:542万
展开全部
如下面所示。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class EnumTesting {
Connection connection;

Statement statement;

public EnumTesting() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager
.getConnection("jdbc:mysql://192.168.1.25/test?user=spider&password=spider");
} catch (Exception e) {
System.err.println("Unable to find and load driver");
System.exit(1);
}
}

public void doWork() {
try {
statement = connection.createStatement();
ResultSet rs = statement
.executeQuery("SHOW COLUMNS FROM enumtest LIKE 'status'");

rs.next();
String enums = rs.getString("Type");
System.out.println(enums);
int position = 0, count = 0;
String[] availableEnums = new String[10];

while ((position = enums.indexOf("'", position)) > 0) {
int secondPosition = enums.indexOf("'", position + 1);
availableEnums[count++] = enums.substring(position + 1,
secondPosition);

position = secondPosition + 1;
System.out.println(availableEnums[count - 1]);
}

rs.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
Enum e = new Enum();
e.doWork();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freish
2009-11-06 · TA获得超过2878个赞
知道大有可为答主
回答量:3153
采纳率:0%
帮助的人:2698万
展开全部
数据库中枚举类型的数据长什么样。。。。

没见过。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式