一、效果
要查询不同的数据库表,只需要修改配置文件里的相应参数即可。
项目结构:
配置文件
结果:
配置文件:
结果:
二、代码
JdbcUtil.java
package com.ww;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.ArrayList;
public class JdbcUtil {
private static Connection connection;
private static String username;
private static String password;
private static String driver;
private static String ip;
private static int port;
private static String databasename;
private static PreparedStatement ps;
private static ArrayList<String> arrayList;
static{
try {
arrayList = ReadConfig.getConfig("D:\\Java\\eclipse201912\\w1\\src\\com\\config\\config.ini");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String[] str=new String[arrayList.size()];
for(int i=0;i<arrayList.size();i++){
str[i]=arrayList.get(i);
if(str[i].contains("driver")) driver=getSplit(str[i]);
else if(str[i].contains("ip")) ip=getSplit(str[i]);
else if(str[i].contains("port")) port=Integer.valueOf(getSplit(str[i]));
else if(str[i].contains("databasename")) databasename=getSplit(str[i]);
else if(str[i].contains("username")) username=getSplit(str[i]);
else if(str[i].contains("password")) password=getSplit(str[i]);
}
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static String getSplit(String str){
return str.split("=")[1];
}
public static Connection getConnection(){
try {
connection=DriverManager.getConnection(
"jdbc:mysql://"+ip+":"+port+"/"+databasename+"?"
+ "useSSL=false&"
+ "serverTimezone=GMT&"
+ "useUnicode=true&characterEncoding=utf-8"
, username, password);
} catch (Exception e) {
e.printStackTrace();
}
return connection;
}
public static void close(Connection conn) {
// TODO Auto-generated method stub
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
ReadConfig.java
package com.ww;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class ReadConfig {
private static ArrayList<String> arrayList=new ArrayList<String>();
public static ArrayList<String> getConfig(String fileName) throws IOException{
File file=new File(fileName);
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);
String str;
while((str=br.readLine())!=null){
arrayList.add(str);
}
return arrayList;
}
}
TestConnect.java
package com.ww;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Types;
import java.util.ArrayList;
import java.util.Vector;
import com.mysql.jdbc.Statement;
public class TestConnect {
public static void main(String[] args) throws IOException {
String tablename=null;
ArrayList<String> arrayList=ReadConfig.getConfig("D:\\Java\\eclipse201912\\w1\\src\\com\\config\\config.ini");
for(int i=0;i<arrayList.size();i++) {
if(arrayList.get(i).contains("tablename"))
tablename=arrayList.get(i).split("=")[1];
}
String sql="select * from "+tablename;
Connection conn=JdbcUtil.getConnection();
ResultSetMetaData resultMetaData;
try {
if(conn==null) {
System.out.println("Can't connet!");
}
Statement st=(Statement) conn.createStatement();
ResultSet rs=st.executeQuery(sql);
resultMetaData=rs.getMetaData();
int cols=resultMetaData.getColumnCount();
Vector currentRow=new Vector();
while(rs.next()) {
for(int i=1;i<=cols;i++) {
switch(resultMetaData.getColumnType(i)) {
case Types.VARCHAR:
currentRow.addElement(rs.getString(resultMetaData.getColumnName(i)));
break;
case Types.INTEGER:
currentRow.addElement(rs.getInt(resultMetaData.getColumnName(i)));
break;
case Types.TIMESTAMP:
currentRow.addElement(rs.getDate(resultMetaData.getColumnName(i)));
break;
case Types.DOUBLE:
currentRow.addElement(rs.getDouble(resultMetaData.getColumnName(i)));
break;
case Types.FLOAT:
currentRow.addElement(rs.getFloat(resultMetaData.getColumnName(i)));
break;
case Types.CLOB:
currentRow.addElement(rs.getBlob(resultMetaData.getColumnName(i)));
break;
default:
currentRow.add("error");
}
}
System.out.println(currentRow);
currentRow.clear();
}
} catch (Exception e) {
// TODO: handle exception
}finally {
JdbcUtil.close(conn);
}
}
}