[size=small]加入 mysql的驱动jar: mysql-connector-java-5.1.25-bin.jar
mysql.ini 的内容
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/mysql
user=root
pass=123456
initialSize=5
maxActive=20
minIdle=2
maxStatements=180
[/size]
mysql.ini 的内容
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/mysql
user=root
pass=123456
initialSize=5
maxActive=20
minIdle=2
maxStatements=180
[/size]
package com.enhance.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 ExecuteSql {
private String driver;
private String url;
private String user;
private String pass;
private Connection conn;
private Statement stmt;
private ResultSet rs;
public void initParam(String paramFile) throws Exception{
Properties prop=new Properties();
prop.load(new FileInputStream(paramFile));
driver=prop.getProperty("driver");
url=prop.getProperty("url");
user=prop.getProperty("user");
pass=prop.getProperty("pass");
}
//使用execute 执行 sql, true 表示select 返回的 resultSet ,false:表示受影响的行数
public void executeSql(String sql) throws Exception{
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,pass);
stmt=conn.createStatement();
boolean hasResultSet=stmt.execute(sql);
if(hasResultSet){
rs=stmt.getResultSet();
//ResultSetMetaData 用于分析结果集元数据接口
ResultSetMetaData rsmd=rs.getMetaData();
int columnCount=rsmd.getColumnCount();
while(rs.next()){
for(int i=0;i<columnCount;i++){
System.out.print(rsmd.getColumnName(i+1)+"---\t--"+rsmd.getColumnType(i+1)+"---\t--"+rs.getString(i+1)+"\t----|-");
}
System.out.println();
}
}else{
System.out.println("该SQL语句影响的记录有"+stmt.getUpdateCount()+"条");
}
}finally{
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.close();
}
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
ExecuteSql es=new ExecuteSql();
es.initParam("src/mysql.ini");
//System.out.println("----执行删除表数据的DDL语句----");
//es.executeSql("truncate table jdbc_test");
System.out.println("----执行删除表的DDL语句----");
es.executeSql("drop table if exists jdbc_test");
System.out.println("----执行删除表的DDL语句----");
es.executeSql("drop table if exists my_test");
es.executeSql("create table my_test"
+ "( test_id int auto_increment primary key,"
+ "test_name varchar(255))");
System.out.println("----执行插入数据的DML语句----");
es.executeSql("insert into my_test(test_name)"
+ " select user from user");
System.out.println("----执行插入数据的查询语句----");
es.executeSql("select host,user,password from user");
}
}