「java获取数据库表字段」java获取当前数据库连接信息
本篇文章给大家谈谈java获取数据库表字段,以及java获取当前数据库连接信息对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中如何得到数据库中表的字段类型
- 2、java如何获得数据库表中各字段的字段名
- 3、java获取数据库数据
- 4、java 获取mysql 某个数据库中所有表及表的列的信息
- 5、java怎样读取数据库表中字段的数据类型
- 6、java中定义一个类,主要从数据库中获取字段怎么编写
java中如何得到数据库中表的字段类型
经过access测试,ok
String url = "jdbc:odbc:test";//最后一个为数据库名
Statement sm = null;
String command = null;
ResultSet rs = null;
String tableName = null;
String cName = null;
String result = null;
String []pram = new String[1];
List String tables = new ArrayListString();
pram[0] = "table";
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
try {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 加载驱动
} catch (ClassNotFoundException e) {
System.out.println("Can not load Jdbc-Odbc Bridge Driver");
System.err.print("ClassNotFoundException:");
System.err.println(e.getMessage());
}
Connection con = DriverManager.getConnection(url, "admin", "admin"); // 连接到数据库
DatabaseMetaData dm = con.getMetaData();
rs = dm.getTables(null, null, null, pram);//查找所有的表
while(rs.next()){
tables.add(rs.getString(3));
}
rs.close();
for(String tb : tables){
rs = dm.getColumns(null, null, tb, null);//查找当前表的字段
System.out.println("\nthe table is: " + tb);
ResultSetMetaData rsmd = rs.getMetaData();
int len, type;
len = rsmd.getColumnCount();
// System.out.println(len);
for(int i = 1; i = len; i ++){
type = rsmd.getColumnType(i);
//这里是获取了一个字段类型的int型,需要转化成string的话要做一个swtich,就不转了,你自己看java.sql.Types这个类去
System.out.print("\t" + rsmd.getColumnName(i) + ": " + rsmd.getColumnType(i));
}
}
rs.close();
con.close();
// }
} catch (SQLException ex) {
System.out.println("SQLException:");
while (ex != null) {
System.out.println("Message:" + ex.getMessage());
ex = ex.getNextException();
}
} catch (Exception e) {
System.out.println("IOException");
}
java如何获得数据库表中各字段的字段名
import java.sql.*;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;public class Test{ public static void main(String[] args) throws Exception {
// 驱动
String driver = "com.mysql.jdbc.Driver";
// 数据库连接
String url = "jdbc:mysql://localhost:3306/test";
// 用户名
String user = "root";
// 数据库密码
String password = "admin";
// 加载驱动
Class.forName(driver);
// 获取链接
Connection connection = DriverManager
.getConnection(url, user, password);
// 创建查询声明
PreparedStatement preparedStatement = connection
.prepareStatement("select * from dept");
// 获取结果
ResultSet resultSet = preparedStatement.executeQuery();
// 获取各个列的信息
ResultSetMetaData metaData = resultSet.getMetaData();
// 一条数据保存在一个Hashtable 将所有Hashtable存放到list
ListHashtableString, Object rows = new ArrayListHashtableString, Object();
while (resultSet.next()) {
HashtableString, Object row = new HashtableString, Object();
for (int i = 1; i = metaData.getColumnCount(); i++) {
// 打印列名
System.out.println(metaData.getColumnName(i));
row.put(metaData.getColumnName(i), resultSet.getObject(i));
}
rows.add(row);
}
resultSet.close();
preparedStatement.close();
connection.close();
}}
java获取数据库数据
1、对应数据库中的表创建实体类(entity),封装a、b、c等字段。
2、使用jdbc查询数据库,一行数据对应一个实体对象,放进一个集合Listentity中。
java 获取mysql 某个数据库中所有表及表的列的信息
mysql里面提供了很多方法来获取表结构和表列:如下方法
获得某表所有列的信息:
String sql = select * from tname;//tname为某一表名
Connection conn = ....;
Statement st = conn.createStatement();
ResultSet rs = st.rs = st.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int colcount = rsmd.getColumnCount();//取得全部列数
for(int i=0;icolcount;i++){
String colname = rsmd.getColumnName(i);//取得全部列名
}
以上为某表字段具体查询,如果是查询表的信息,如在mysql服务器上那样的查询结果的话,可以用一下代码:
ResultSet.executeQuery("show tables")可以的到所有的表信息。
ResultSet.executeQuery("describe tname")可以得到表的字段信息。//tname为表名
java怎样读取数据库表中字段的数据类型
Java获取数据库的表中各字段的字段名,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class TestDemo {
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://数据库IP地址:3306/数据库名称";
String user = "数据库用户名";
String pass = "数据库用户密码";
conn = DriverManager.getConnection(url, user, pass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void main(String[] args) {
Connection conn = getConnection();
String sql = "select * from AccessType";
PreparedStatement stmt;
try {
stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData data = rs.getMetaData();
for (int i = 1; i = data.getColumnCount(); i++) {
// 获得所有列的数目及实际列数
int columnCount = data.getColumnCount();
// 获得指定列的列名
String columnName = data.getColumnName(i);
// 获得指定列的列值
int columnType = data.getColumnType(i);
// 获得指定列的数据类型名
String columnTypeName = data.getColumnTypeName(i);
// 所在的Catalog名字
String catalogName = data.getCatalogName(i);
// 对应数据类型的类
String columnClassName = data.getColumnClassName(i);
// 在数据库中类型的最大字符个数
int columnDisplaySize = data.getColumnDisplaySize(i);
// 默认的列的标题
String columnLabel = data.getColumnLabel(i);
// 获得列的模式
String schemaName = data.getSchemaName(i);
// 某列类型的精确度(类型的长度)
int precision = data.getPrecision(i);
// 小数点后的位数
int scale = data.getScale(i);
// 获取某列对应的表名
String tableName = data.getTableName(i);
// 是否自动递增
boolean isAutoInctement = data.isAutoIncrement(i);
// 在数据库中是否为货币型
boolean isCurrency = data.isCurrency(i);
// 是否为空
int isNullable = data.isNullable(i);
// 是否为只读
boolean isReadOnly = data.isReadOnly(i);
// 能否出现在where中
boolean isSearchable = data.isSearchable(i);
System.out.println(columnCount);
System.out.println("获得列" + i + "的字段名称:" + columnName);
System.out.println("获得列" + i + "的类型,返回SqlType中的编号:"+ columnType);
System.out.println("获得列" + i + "的数据类型名:" + columnTypeName);
System.out.println("获得列" + i + "所在的Catalog名字:"+ catalogName);
System.out.println("获得列" + i + "对应数据类型的类:"+ columnClassName);
System.out.println("获得列" + i + "在数据库中类型的最大字符个数:"+ columnDisplaySize);
System.out.println("获得列" + i + "的默认的列的标题:" + columnLabel);
System.out.println("获得列" + i + "的模式:" + schemaName);
System.out.println("获得列" + i + "类型的精确度(类型的长度):" + precision);
System.out.println("获得列" + i + "小数点后的位数:" + scale);
System.out.println("获得列" + i + "对应的表名:" + tableName);
System.out.println("获得列" + i + "是否自动递增:" + isAutoInctement);
System.out.println("获得列" + i + "在数据库中是否为货币型:" + isCurrency);
System.out.println("获得列" + i + "是否为空:" + isNullable);
System.out.println("获得列" + i + "是否为只读:" + isReadOnly);
System.out.println("获得列" + i + "能否出现在where中:"+ isSearchable);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
java中定义一个类,主要从数据库中获取字段怎么编写
首先连接数据库,你也没说什么数据库,给你三种连接,
package com.cai.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties ;
public class ConnectionUtil {
/**
* 1
*在方法中固化连接参数
* @return 数据库连接
*/
public Connection getConnection(){
Connection conn = null ;
try{
Class.forName("com.mysql.jdbc.Driver") ;
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/stud", "root", "root") ;
return conn ;
}catch(Exception e){
e.printStackTrace() ;
}
return null ;
}
/**
* 2
*通过方法参数方式传递连接参数
* @return 数据库连接
*/
public Connection getConnection(String driver, String url, String user, String password){
Connection conn = null ;
try{
Class.forName(driver) ;
conn = DriverManager.getConnection(url, user, password) ;
return conn ;
}catch(Exception e){
e.printStackTrace();
}
return null ;
}
/**
* 3
*通过properties配置文件的方式灵活配置连接参数,properties中的属性名固化
* @return 数据库连接
*/
public Connection openConnection(){
Connection conn = null ;
String driver = "" ;
String url = "" ;
String user = "" ;
String password = "" ;
Properties props = new Properties() ;
try{
props.load(this.getClass().getClassLoader().getResourceAsStream("DBConfig.properties")) ;
driver = props.getProperty("driver") ;
url = props.getProperty("url") ;
user = props.getProperty("user") ;
password = props.getProperty("password") ;
Class.forName(driver) ;
conn = DriverManager.getConnection(url, user, password) ;
return conn ;
}catch(Exception e){
e.printStackTrace() ;
}
return null ;
}
public static void main(String []args){
ConnectionUtil cu = new ConnectionUtil() ;
System.out.println("1、----" + cu.getConnection()) ;
System.out.println("2、----" + cu.getConnection("com.mysql.jdbc.Driver",
"jdbc:mysql://localhost:3306/stud", "root", "root")) ;
System.out.println("3、----" + cu.openConnection()) ;
}
}
连接上数据库就可以操作数据了,在写sql语句 根据sql执行就有返回相应字段值了
java获取数据库表字段的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java获取当前数据库连接信息、java获取数据库表字段的信息别忘了在本站进行查找喔。