c3p0连接mysql的xml和jar包自行领取
链接: https://pan.baidu.com/s/1HYoQsDdtGENskfIOQhEbUA 提取码: i4nj
package entity;
/**
* 实体类
*
* @author 小虎牙
*
*/
public class user {
/**
* 这里的名字和数据库里面的名字必须一样,要有默认的构造函数
*/
private String name;
private String username;
private String password;
public user() {
// TODO 自动生成的构造函数存根
}
@Override
public String toString() {
return "user [name=" + name + ", username=" + username + ", password=" + password + "]";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getusername() {
return username;
}
public void setusername(String username) {
this.username = username;
}
public String getpassword() {
return password;
}
public void setpassword(String password) {
this.password = password;
}
}
package util;
/**
* 工具类
*/
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class JDBCUtil {
private static DataSource dataSourse;// 数据源的配置,相当于池子
public static void setDataSourse(DataSource dataSourse) {
JDBCUtil.dataSourse = dataSourse;
}
static {
dataSourse = new ComboPooledDataSource();
}
public static DataSource getDataSourse() {
return dataSourse;
}
}
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import entity.user;
import util.JDBCUtil;
public class main_dao {
private static QueryRunner runner=new QueryRunner(JDBCUtil.getDataSourse());
public static void main(String[] args) {
try {
//增删改
runner.update("delete from user where name ='002';");
//查寻一个放到类
user u1=runner.query("select * from user where name =?", new BeanHandler<>(user.class),"张三");
System.out.println(u1);
System.out.println("--------------------");
//查询多个
List<user> list=runner.query("select * from user ", new BeanListHandler<>(user.class));
Iterator<user> iterator=list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
这个是xml文件放在src文件夹下面就好
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- C3P0的缺省(默认)配置, 如果在代码中“ComboPooledDataSource ds = new ComboPooledDataSource();”这样写就表示使用的是C3P0的缺省(默认)配置信息来创建数据源 -->
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/java</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="acquireIncrement">5</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">5</property>
<property name="maxPoolSize">20</property>
</default-config>
<!-- C3P0的命名配置, 如果在代码中“ComboPooledDataSource ds = new ComboPooledDataSource("MySQL");”这样写就表示使用的是name是MySQL的配置信息来创建数据源 -->
<named-config name="MySQL">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/java</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="acquireIncrement">5</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">5</property>
<property name="maxPoolSize">20</property>
</named-config>
</c3p0-config>