java怎么从一个表里搜索出所有字段名并放到一个list里
比如说有一个表叫t_user里面有username,password,age,job等属性,如何把username,password,age,job这些属性名都取出来,并...
比如说有一个表叫t_user里面有username,password,age,job等属性,如何把username,password,age,job这些属性名都取出来,并且放到一个list里面(注意是属性名,而不是这些属性里面具体的值)跪求大神指导
展开
4个回答
展开全部
JdbC方式:
rs : ResultSet
users : ArrayList<Users>
while(rs.next())
{
User user = new User();
user.setName(rs.getString("username");//这个Username是你表里的列哦
user.setPassword(rs.getString("password"));
user.setAge(rs.getInt("age"));//getInt还是getLong就看你想要什么类型的值了(getInt只能获取int)类型的,但是getLong可以获取long类型,看楼主需要了
user.setJob(rs.getInt("job"));//这里假设楼主设置了实体类的Job属性为外键编号,如果是一个实体类,会比较复杂,如果楼主到时候不想采用这里的方式在讨论这个时候加载实体类吧
users.add(user);
}
HibernateTemplate(spring):
。。。。好吧,其实我想说这种方式就是根据你的映射文件自动封装的
rs : ResultSet
users : ArrayList<Users>
while(rs.next())
{
User user = new User();
user.setName(rs.getString("username");//这个Username是你表里的列哦
user.setPassword(rs.getString("password"));
user.setAge(rs.getInt("age"));//getInt还是getLong就看你想要什么类型的值了(getInt只能获取int)类型的,但是getLong可以获取long类型,看楼主需要了
user.setJob(rs.getInt("job"));//这里假设楼主设置了实体类的Job属性为外键编号,如果是一个实体类,会比较复杂,如果楼主到时候不想采用这里的方式在讨论这个时候加载实体类吧
users.add(user);
}
HibernateTemplate(spring):
。。。。好吧,其实我想说这种方式就是根据你的映射文件自动封装的
2013-03-13
展开全部
代码如下,供参考
1. 首先使用JDBC方式从指定的表中查询一条记录
2. 使用 ResultSetMetaData 获取相应的字段信息
3. 将字段信息放到List中
public List<String> getColumnName(String tablename) {
List<String> list = new ArrayList<String>();
Connection conn = getConnection();
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
-- limit 0,1 表中获取一条记录
-- 如果是其它数据库,改一下即可
pstmt = conn.prepareStatement("select * from "+tablename+" limit 0, 1");
rs = pstmt.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
list.add(rsmd.getColumnName(i));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (pstmt != null) pstmt.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (conn != null) conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return list;
}
1. 首先使用JDBC方式从指定的表中查询一条记录
2. 使用 ResultSetMetaData 获取相应的字段信息
3. 将字段信息放到List中
public List<String> getColumnName(String tablename) {
List<String> list = new ArrayList<String>();
Connection conn = getConnection();
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
-- limit 0,1 表中获取一条记录
-- 如果是其它数据库,改一下即可
pstmt = conn.prepareStatement("select * from "+tablename+" limit 0, 1");
rs = pstmt.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
list.add(rsmd.getColumnName(i));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (pstmt != null) pstmt.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (conn != null) conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return list;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ResultSetMetaData rsmd=rs.getMetaData();
int numCols = rsmd.getColumnCount();
String resultRow = "";
List lit = new ArrayList();
for (int i = 1; i < numCols; i++) {
list.add(rsmd.getColumnName(i));
System.out.println(rsmd.getColumnName(i));//列名
}
int numCols = rsmd.getColumnCount();
String resultRow = "";
List lit = new ArrayList();
for (int i = 1; i < numCols; i++) {
list.add(rsmd.getColumnName(i));
System.out.println(rsmd.getColumnName(i));//列名
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以创建一个java实体类,之后创建一个对象,把对象存放到list中就行了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询