「java获取数据库表字段」java获取当前数据库连接信息

博主:adminadmin 2023-03-19 23:18:11 327

本篇文章给大家谈谈java获取数据库表字段,以及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获取数据库表字段的信息别忘了在本站进行查找喔。