package JDBC;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Properties;
public class ConnToMySql {
private String driver;
private String url;
private String user;
private String password;
public void initParam(String paramFile) throws Exception{
Properties props = new Properties();
props.load(new FileInputStream(paramFile));
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
password = props.getProperty("password");
}
public int insertData(String sql) throws Exception{
Class.forName(driver);
try(
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement()
){
return stmt.executeUpdate(sql);
}
}
// 测试 execute方法
public void testExecute(String sql) throws Exception{
Class.forName(driver);
try(
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
){
boolean isQuery = stmt.execute(sql);
if( isQuery)
{
ResultSet rs = stmt.getResultSet();
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
while (rs.next()){
for(int i = 0 ; i<columnCount; i++){
System.out.print(rs.getString(i+1)+"\t");
}
System.out.println();
}
}else
{
System.out.println("该语句影响了"+ stmt.getUpdateCount());
}
}
}
public static void main(String[] args) throws Exception{
ConnToMySql ctms = new ConnToMySql();
// DDL使用 executeUpdate时返回0. DML返回执行的个数。
ctms.initParam("E:/java/ConnMySql/configue/mysql.ini");
int result = ctms.insertData("insert into teacher values(5,'pddp');");
System.out.print("total effect " + result + "记录");
ctms.testExecute("create table executeTable(col_a varchar(20) primary key,col_b text )");
ctms.testExecute("insert into executeTable values('pxb','I am a dangerous')");
ctms.testExecute("select * from executeTable");
}
}