나는 java에 익숙하지 않고 mysql 데이터베이스에 연결 한 다음 테이블 이름을 지정하는 코드를 작성하려고한다. 입력으로 프로그램은 특정 테이블의 열 이름과 유형을 검색 한 다음이 출력을 json 형식으로 인쇄합니다 ..... 이것은 작성한 코드입니다. ......... 예상 출력된다 ...... { "테이블 _": "직원" "데이터베이스": "MYSQL, '열'[ { "COLUMN_NAME " : "EID" "column_data_type": "문자열" }, { "COLUMN_NAME": "ENAME" "column_data_type": "INT" }, { "COLUMN_NAME": "나이" "column_data_type": "INT" }내 자바 프로그램이 mysql 데이터베이스에 액세스하여 json 형식으로 테이블의 설명 (열 이름과 그 유형)을 인쇄해야한다.
]
}
import java.io.FileWriter;
import java.sql.*;
import java.util.*;
import javax.json.*;
import org.json.*;
public class MySqlConn
{
Collection conn=null;
public JSONObject getTableColumns(String tableName)
{
int i=1;
Statement st = conn.createStatement();
ResultSet res = st.executeQuery("Select * from "+tableName);
ResultSetMetaData rsmd = res.getMetaData();
JSONObject obj;
JsonArray array = new JsonArray();
try
{
while(i < rsmd.getColumnCount())
{
//create new json object
obj = new JSONObject();
obj.put("Column name", rsmd.getColumnName(i));
obj.put("Column type", rsmd.getColumnType(i));
array.add(obj);
i++;
}
}
catch (Exception e)
{
e.printStackTrace();
}
return obj;
}
public static void main(String[] args)
{
String url = "jdbc:mysql://localhost:3306/prj?useSSL=false";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "password";
Scanner sc = new Scanner(System.in);
System.out.println("Enter a tablename");
String tname=sc.nextLine();
sc.close();
try
{
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url,userName,password);
System.out.println("Connected to the database");
getTableColumns(tname);
FileWriter file = new FileWriter("output.json");
//write data to file
file.write(array.toJson());
//print results in console
System.out.println("Successfully Copied JSON Object to File...");
System.out.println("\nJSON Object: " + obj);
//close file
file.close();
System.out.println("Disconnected from database");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
실제 질문은 무엇입니까 아래
확인 코드? 나는 하나도 보지 못한다. –
내 자바 프로그램은 mysql 데이터베이스에 액세스해야하며 json 형식의 테이블 설명을 인쇄해야합니다. 열 이름과 데이터 유형을 출력으로 얻는 방법을 이해할 수는 없지만 json 형식으로 설명합니다. – Abhishek
그래서 모든 테이블 이름, 열 이름 및 유형을 json 형식으로 저장 하시겠습니까? –