JDBC 与C3p0连接数据库回顾

来源:互联网 发布:噬菌体侵染细菌知乎 编辑:程序博客网 时间:2024/06/02 03:12
packagecom.ddcash.jdbc.jdbc;

importcom.mchange.v2.c3p0.ComboPooledDataSource;
importcom.mchange.v2.c3p0.DataSources;

importjava.sql.*;

/**
* Description: xxxxx
*
*@author: zhoushiwen
* Created_Date : 2017/10/11 15:25
*/
public classJDBCTest {

private staticComboPooledDataSourcecpds;
private finalStringselectSql="select * from t_ddq_customer";
private finalStringinsertSql="insert into t_ddq_channel values('4','test1','test1','0',now(),now())";
private finalStringbatchInsert="insert into t_ddq_channel values(?,'test1','test1','0',now(),now())";

static{
cpds=newComboPooledDataSource();
//加载数据库驱动
try{
cpds.setDriverClass("com.mysql.jdbc.Driver");
}catch(Exception e1) {
e1.printStackTrace();
}
//设置访问数据库的地址、用户名和密码
cpds.setJdbcUrl("jdbc:mysql://10.1XXXXXX:3306/ddq_reborn?useUnicode=true&characterEncoding=utf-8");
cpds.setUser("XXXX");
cpds.setPassword("XXXX");

//设置C3P0的一些配置,不设置则使用默认值
cpds.setMinPoolSize(5);
cpds.setAcquireIncrement(5);
cpds.setMaxPoolSize(20);
cpds.setMaxStatements(180);


}

public staticConnectiongetConnection() {
String url ="jdbc:mysql://XXXXXXXXX:3306/ddq_reborn?useUnicode=true&characterEncoding=utf-8";
String password = "xxxx";
String username = "xxxx";
String driver = "com.mysql.jdbc.Driver";
Connection con = null;
try{
Class.forName(driver);
con = DriverManager.getConnection(url,username,password);
}catch(Exception e) {
e.printStackTrace();
}
returncon;
}

public staticConnectiongetConnectionByC3p0()throwsException {
Connection con =null;

con =cpds.getConnection();
returncon;
}

public static void select() {
String sql ="select* from t_ddq_customer";
try{
PreparedStatement prep = JDBCTest.getConnectionByC3p0().prepareStatement(sql);
ResultSet result = prep.executeQuery();
intcol = result.getMetaData().getColumnCount();
while(result.next()) {
for(inti =1;i <= col;i++) {
System.out.print(result.getString(i) + " ");
}
System.out.println("-----------------------");
}
}catch(Exception e) {
e.printStackTrace();
}

}

/**
*插入
*
*@paramsql
*@throwsException
*/
private static void isnert(String sql)throwsException {
PreparedStatement prep =getConnection().prepareStatement(sql);
prep.execute();
}

/**
*批量执行SQL
*
*@paramsql
*@throwsException
*/
private static void batchInsert(String sql)throwsException {
PreparedStatement prep =getConnection().prepareStatement(sql);
for(inti =1;i <5;i++) {
prep.setLong(1,i +5);
prep.addBatch();
}
prep.executeBatch();
}

}

原创粉丝点击