您的位置:首页 > 数据库 > MySQL

JDBC连接mysql

2017-03-27 11:28 246 查看
加入  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

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");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: