1. JDBCによる使用C3P0接続プール
C3P0はオープンソースのJDBC接続プールであり、データソースとJNDIバインディングを実装し、JDBC3仕様とJDBC2標準拡張をサポートします。現在それを使用しているオープンソースプロジェクトには、Hibernate、Springなどが含まれます。
例えば:
1.データベーステーブルを作成します
テーブルt_user(を作成します
u_id int主キーauto_increment、
u_name varchar(20)、
u_age int、
u_address varchar(30)
);
2. Javaプロジェクトを作成し、依存パッケージをインポートします
c3p0-0.9.5.2.jar
change-commons-java-0.2.15.jar
mysql-connector-java-5.1.38.jar
3. src [c3p0-config.xml]の下にc3p0構成ファイルを作成します
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- c3p0的默认配置项 -->
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="user">root</property>
<property name="password">123456</property>
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">20</property>
</default-config>
<!-- 定义的数据库配置 -->
<named-config name="test">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="user">root</property>
<property name="password">123456</property>
<property name="initialPoolSize">25</property>
<property name="maxPoolSize">200</property>
</named-config>
</c3p0-config>
4.javabeanを作成します
5.データベースアクセスクラスを作成します
package com.wangxing.jdbcc3p0.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.wangxing.jdbcc3p0.bean.UserBean;
/**
* 用户信息的访问类
*
* @author Administrator
*
*/
public class UserBeanDaoClass {
// 定义保存c3p0数据源对象
private ComboPooledDataSource dataSource = null;
public UserBeanDaoClass() {
// 加载c3p0-config.xml文件中默认的config
// 初始化数据源
dataSource = new ComboPooledDataSource();
// 初始化数据源,加载的是自定义的数据库表配置项
// dataSource =new ComboPooledDataSource("my");
}
// 添加用户信息
public void insertUser(UserBean userBean) {
Connection conn = null;
PreparedStatement statement = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建添加数据的sql语句
String insert = "insert into t_user values(null,?,?,?);";
System.out.println(insert);
// 创建PreparedStatement对象
statement = conn.prepareStatement(insert);
// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
statement.setString(1, userBean.getUname());
statement.setInt(2, userBean.getUage());
statement.setString(3, userBean.getUaddress());
// 执行添加sql
int temp = statement.executeUpdate();
if (temp > 0) {
System.out.println("添加信息成功");
}
} catch (Exception e) {
System.out.println("添加信息失败");
e.printStackTrace();
} finally {
if (statement != null && conn != null) {
try {
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
// 根据用户id修改用户信息
public void updateUser(UserBean userBean) {
Connection conn = null;
PreparedStatement statement = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建修改数据的sql语句
String update = "update t_user set u_name=?,u_age=?,u_address=? where u_id=?;";
System.out.println(update);
// 创建PreparedStatement对象
statement = conn.prepareStatement(update);
// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
statement.setString(1, userBean.getUname());
statement.setInt(2, userBean.getUage());
statement.setString(3, userBean.getUaddress());
statement.setInt(4, userBean.getUid());
// 执行修改sql
int temp = statement.executeUpdate();
if (temp > 0) {
System.out.println("修改信息成功");
}
} catch (Exception e) {
System.out.println("修改信息失败");
e.printStackTrace();
} finally {
if (statement != null && conn != null) {
try {
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
// 根据用户id查询用户信息
public UserBean selectUserById(int userid) {
UserBean userbean = null;
Connection conn = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建根据用户id查询用户信息sql语句
String select = "select * from t_user where u_id=?;";
System.out.println(select);
// 创建PreparedStatement对象
statement = conn.prepareStatement(select);
statement.setInt(1, userid);
// 执行查询sql
resultSet = statement.executeQuery();
if (resultSet.next()) {
int id = resultSet.getInt("u_id");
String name = resultSet.getString("u_name");
int age = resultSet.getInt("u_age");
String address = resultSet.getString("u_address");
userbean = new UserBean();
userbean.setUid(id);
userbean.setUname(name);
userbean.setUage(age);
userbean.setUaddress(address);
}
} catch (Exception e) {
System.out.println("查询信息失败");
e.printStackTrace();
} finally {
if (resultSet != null && statement != null && conn != null) {
try {
resultSet.close();
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return userbean;
}
// 查询所有用户信息
public List<UserBean> selectUser() {
List<UserBean> userlist = new ArrayList<UserBean>();
Connection conn = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建查询所有用户信息sql语句
String select = "select * from t_user;";
System.out.println(select);
// 创建PreparedStatement对象
statement = conn.prepareStatement(select);
// 执行查询sql
resultSet = statement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("u_id");
String name = resultSet.getString("u_name");
int age = resultSet.getInt("u_age");
String address = resultSet.getString("u_address");
UserBean userbean = new UserBean();
userbean.setUid(id);
userbean.setUname(name);
userbean.setUage(age);
userbean.setUaddress(address);
userlist.add(userbean);
}
} catch (Exception e) {
System.out.println("查询信息失败");
e.printStackTrace();
} finally {
if (resultSet != null && statement != null && conn != null) {
try {
resultSet.close();
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return userlist;
}
// 根据id删除用户信息
public void deleteUserById(int userid) {
Connection conn = null;
PreparedStatement statement = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建删除数据的sql语句
String delete = "delete from t_user where u_id=?;";
System.out.println(delete);
// 创建PreparedStatement对象
statement = conn.prepareStatement(delete);
statement.setInt(1, userid);
// 执行删除sql
int temp = statement.executeUpdate();
if (temp > 0) {
System.out.println("删除信息成功");
}
} catch (Exception e) {
System.out.println("删除信息失败");
e.printStackTrace();
} finally {
if (statement != null && conn != null) {
try {
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
情報
package com.wangxing.jdbcc3p0.bean;
/**
* 保存用户信息的java类
* @author Administrator
*
*/
public class UserBean {
private int uid;
private String uname;
private int uage;
private String uaddress;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
public String getUaddress() {
return uaddress;
}
public void setUaddress(String uaddress) {
this.uaddress = uaddress;
}
}
試験方法
package com.wangxing.jdbcc3p0.test;
import com.wangxing.jdbcc3p0.bean.UserBean;
import com.wangxing.jdbcc3p0.dao.UserBeanDaoClass;
public class TestMain {
public static void main(String[] args) {
//测试添加数据
UserBean userbean=new UserBean();
userbean.setUname("wangwu");
userbean.setUage(25);
userbean.setUaddress("西安");
UserBeanDaoClass userDao=new UserBeanDaoClass();
userDao.insertUser(userbean);
}
}
利点:c3p0のデータベース接続プールの構成が正常に構成および初期化されているため、データベース接続オブジェクトを作成する操作を手動で記述する必要がありません。プログラムの実行効率を提供します。将来データベースを切り替えるときにソースコードを変更する必要はありません。必要なのは、c3p0データベース接続プールの構成を変更することだけです。
2.JDBCを介してdbcp接続プールを使用します
データベース接続プールは、データベース接続の割り当て、管理、および解放を担当します。これにより、アプリケーションは既存のデータベース接続を再確立する代わりに再利用できます。アイドル時間が最大アイドル時間を超えるデータベース接続を解放して、そうでないデータベース接続を回避できます。解放されました。省略によるデータベース接続。このテクノロジーは、データベース操作のパフォーマンスを大幅に向上させることができます。
例:
1.データベーステーブルを作成します
テーブルt_user(を作成します
u_id int主キーauto_increment、
u_name varchar(20)、
u_age int、
u_address varchar(30)
);
2. Javaプロジェクトを作成し、jarパッケージをインポートします
commons-dbcp-1.4.jar
commons-dbutils-1.6.jar
commons-pool-1.6.jar
3. src [xxxxxxxx.properties]の下にデータベース接続構成ファイルを作成します
driverClassName = com.mysql.jdbc.Driver
url = jdbc:mysql://127.0.0.1:3306 / test?useUnicode = true&characterEncoding = utf8
username = root
パスワード= 123456
maxActive = 50
maxIdle = 20
maxWait = 60000
4.javabeanを作成します[上記と同じ]
5.データベースアクセスクラスを作成します
package com.wangxing.jdbcdbcp.dao;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import com.wangxing.jdbcdbcp.bean.UserBean;
/**
* 用户信息的访问类
*
* @author Administrator
*
*/
public class UserBeanDaoClass {
// 定义保存dbcp数据源对象
private DataSource dataSource = null;
public UserBeanDaoClass() {
try{
Properties pro=new Properties();
//getResourceAsStream("该参数名称应与上面配置文件名相同,后缀不能改动")
InputStream inStream=this.getClass().getResourceAsStream("/mydata.properties");
pro.load(inStream);
dataSource=BasicDataSourceFactory.createDataSource(pro);
}catch(Exception e){
e.printStackTrace();
}
}
// 添加用户信息
public void insertUser(UserBean userBean) {
Connection conn = null;
PreparedStatement statement = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建添加数据的sql语句
String insert = "insert into t_user values(null,?,?,?);";
System.out.println(insert);
// 创建PreparedStatement对象
statement = conn.prepareStatement(insert);
// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
statement.setString(1, userBean.getUname());
statement.setInt(2, userBean.getUage());
statement.setString(3, userBean.getUaddress());
// 执行添加sql
int temp = statement.executeUpdate();
if (temp > 0) {
System.out.println("添加信息成功");
}
} catch (Exception e) {
System.out.println("添加信息失败");
e.printStackTrace();
} finally {
if (statement != null && conn != null) {
try {
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
// 根据用户id修改用户信息
public void updateUser(UserBean userBean) {
Connection conn = null;
PreparedStatement statement = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建修改数据的sql语句
String update = "update t_user set u_name=?,u_age=?,u_address=? where u_id=?;";
System.out.println(update);
// 创建PreparedStatement对象
statement = conn.prepareStatement(update);
// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
statement.setString(1, userBean.getUname());
statement.setInt(2, userBean.getUage());
statement.setString(3, userBean.getUaddress());
statement.setInt(4, userBean.getUid());
// 执行修改sql
int temp = statement.executeUpdate();
if (temp > 0) {
System.out.println("修改信息成功");
}
} catch (Exception e) {
System.out.println("修改信息失败");
e.printStackTrace();
} finally {
if (statement != null && conn != null) {
try {
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
// 根据用户id查询用户信息
public UserBean selectUserById(int userid) {
UserBean userbean = null;
Connection conn = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建根据用户id查询用户信息sql语句
String select = "select * from t_user where u_id=?;";
System.out.println(select);
// 创建PreparedStatement对象
statement = conn.prepareStatement(select);
statement.setInt(1, userid);
// 执行查询sql
resultSet = statement.executeQuery();
if (resultSet.next()) {
int id = resultSet.getInt("u_id");
String name = resultSet.getString("u_name");
int age = resultSet.getInt("u_age");
String address = resultSet.getString("u_address");
userbean = new UserBean();
userbean.setUid(id);
userbean.setUname(name);
userbean.setUage(age);
userbean.setUaddress(address);
}
} catch (Exception e) {
System.out.println("查询信息失败");
e.printStackTrace();
} finally {
if (resultSet != null && statement != null && conn != null) {
try {
resultSet.close();
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return userbean;
}
// 查询所有用户信息
public List<UserBean> selectUser() {
List<UserBean> userlist = new ArrayList<UserBean>();
Connection conn = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建查询所有用户信息sql语句
String select = "select * from t_user;";
System.out.println(select);
// 创建PreparedStatement对象
statement = conn.prepareStatement(select);
// 执行查询sql
resultSet = statement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("u_id");
String name = resultSet.getString("u_name");
int age = resultSet.getInt("u_age");
String address = resultSet.getString("u_address");
UserBean userbean = new UserBean();
userbean.setUid(id);
userbean.setUname(name);
userbean.setUage(age);
userbean.setUaddress(address);
userlist.add(userbean);
}
} catch (Exception e) {
System.out.println("查询信息失败");
e.printStackTrace();
} finally {
if (resultSet != null && statement != null && conn != null) {
try {
resultSet.close();
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return userlist;
}
// 根据id删除用户信息
public void deleteUserById(int userid) {
Connection conn = null;
PreparedStatement statement = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建删除数据的sql语句
String delete = "delete from t_user where u_id=?;";
System.out.println(delete);
// 创建PreparedStatement对象
statement = conn.prepareStatement(delete);
statement.setInt(1, userid);
// 执行删除sql
int temp = statement.executeUpdate();
if (temp > 0) {
System.out.println("删除信息成功");
}
} catch (Exception e) {
System.out.println("删除信息失败");
e.printStackTrace();
} finally {
if (statement != null && conn != null) {
try {
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
テスト
package com.wangxing.jdbcdbcp.test;
import com.wangxing.jdbcdbcp.bean.UserBean;
import com.wangxing.jdbcdbcp.dao.UserBeanDaoClass;
public class TestMain {
public static void main(String[] args) {
//测试修改数据
UserBean userbean=new UserBean();
userbean.setUid(3);
userbean.setUname("王五");
userbean.setUage(25);
userbean.setUaddress("西安");
UserBeanDaoClass userDao=new UserBeanDaoClass();
userDao.updateUser(userbean);
}
}
3.JDBCアクセスドルイド
Druidは、最初はデータベース接続プールです。Druidは、機能、パフォーマンス、スケーラビリティの点で現在最高のデータベース接続プールであり、DBCP、C3P0、BoneCP、Proxool、JBossDataSourceなどの他のデータベース接続プールを上回っています。DruidはAlibabaに600を超えるアプリケーションを展開し、1年以上にわたって大規模な本番環境で厳密にテストされています。Druidは、Alibabaによって開発されたMonitoringと呼ばれるデータベース接続プールです。
同時に、ドルイドは単なるデータベース接続プールではなく、次の4つの部分で構成されています。
DruidはJDBCコンポーネントであり、次の3つの部分で構成されています。
フィルターチェーンモデルに基づくプラグインシステム。
DruidDataSource効率的で管理しやすいデータベース接続プール。
SQLParser
ドルイドの特徴
1.DBCPとC3P0を交換します。Druidは、効率的で強力かつスケーラブルなデータベース接続プールを提供します。
2.データベースアクセスのパフォーマンスを監視できます。Druidには強力なStatFilterプラグインが組み込まれており、SQL実行パフォーマンスの詳細な統計を実行できます。これは、オンラインデータベースアクセスのパフォーマンス分析に役立ちます。
3.データベースのパスワードは暗号化されています。データベースパスワードを構成ファイルに直接書き込むことは悪い動作であり、セキュリティの問題を簡単に引き起こす可能性があります。DruidDruiverとDruidDataSourceの両方がPasswordCallbackをサポートしています。
4. SQL実行ログ。Druidは、Common-Logging、Log4j、およびJdkLogをサポートできるさまざまなLogFilterを提供します。必要に応じて、対応するLogFilterを選択して、アプリケーションのデータベースアクセスを監視できます。
5. JDBCを拡張します。JDBCレイヤーのプログラミング要件がある場合は、Druidが提供するフィルターメカニズムを使用して、JDBCレイヤーの拡張プラグインを簡単に作成できます。
したがって、ドルイドは次のことができます。
1.データベース接続プールとして機能します。
2.データベースアクセスのパフォーマンスを監視でき
ます。3。SQL実行ログを取得します。
例えば:
1.データベーステーブルを作成します
2. Javaプロジェクトを作成し、jarパッケージ[druid-1.1.10.jar]をインポートします。
3. src [xxxxxxxx.properties]の下にデータベース接続構成ファイルを作成します
driverClassName = com.mysql.jdbc.Driver
url = jdbc:mysql://127.0.0.1:3306 / test?useUnicode = true&characterEncoding = UTF-8
username = root
パスワード= 123456
initialSize = 100
maxActive = 300
maxWait = 60000
詳細なDruid構成
https://blog.csdn.net/zhangjinwei417/article/details/92823438
4.javabeanを作成します[上記と同じ]
5.データベースアクセスクラスを作成します
package com.wangxing.jdbcdruid.dao;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import javax.sql.DataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.wangxing.jdbcdruid.bean.UserBean;
/**
* 用户信息的访问类
*
* @author Administrator
*
*/
public class UserBeanDaoClass {
// 定义保存druid数据源对象
private DataSource dataSource = null;
public UserBeanDaoClass() {
try {
Properties pro=new Properties();
//getResourceAsStream("该参数名称应与上面配置文件名相同,后缀不能改动")
InputStream inStream=this.getClass().getResourceAsStream("/mydata.properties");
pro.load(inStream);
dataSource=DruidDataSourceFactory.createDataSource(pro);
}catch(Exception e) {
e.printStackTrace();
}
}
// 添加用户信息
public void insertUser(UserBean userBean) {
Connection conn = null;
PreparedStatement statement = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建添加数据的sql语句
String insert = "insert into t_user values(null,?,?,?);";
System.out.println(insert);
// 创建PreparedStatement对象
statement = conn.prepareStatement(insert);
// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
statement.setString(1, userBean.getUname());
statement.setInt(2, userBean.getUage());
statement.setString(3, userBean.getUaddress());
// 执行添加sql
int temp = statement.executeUpdate();
if (temp > 0) {
System.out.println("添加信息成功");
}
} catch (Exception e) {
System.out.println("添加信息失败");
e.printStackTrace();
} finally {
if (statement != null && conn != null) {
try {
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
// 根据用户id修改用户信息
public void updateUser(UserBean userBean) {
Connection conn = null;
PreparedStatement statement = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建修改数据的sql语句
String update = "update t_user set u_name=?,u_age=?,u_address=? where u_id=?;";
System.out.println(update);
// 创建PreparedStatement对象
statement = conn.prepareStatement(update);
// 传递“?”所需的数据值--PreparedStatement对象的setXXXX(位置,数据值)
statement.setString(1, userBean.getUname());
statement.setInt(2, userBean.getUage());
statement.setString(3, userBean.getUaddress());
statement.setInt(4, userBean.getUid());
// 执行修改sql
int temp = statement.executeUpdate();
if (temp > 0) {
System.out.println("修改信息成功");
}
} catch (Exception e) {
System.out.println("修改信息失败");
e.printStackTrace();
} finally {
if (statement != null && conn != null) {
try {
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
// 根据用户id查询用户信息
public UserBean selectUserById(int userid) {
UserBean userbean = null;
Connection conn = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建根据用户id查询用户信息sql语句
String select = "select * from t_user where u_id=?;";
System.out.println(select);
// 创建PreparedStatement对象
statement = conn.prepareStatement(select);
statement.setInt(1, userid);
// 执行查询sql
resultSet = statement.executeQuery();
if (resultSet.next()) {
int id = resultSet.getInt("u_id");
String name = resultSet.getString("u_name");
int age = resultSet.getInt("u_age");
String address = resultSet.getString("u_address");
userbean = new UserBean();
userbean.setUid(id);
userbean.setUname(name);
userbean.setUage(age);
userbean.setUaddress(address);
}
} catch (Exception e) {
System.out.println("查询信息失败");
e.printStackTrace();
} finally {
if (resultSet != null && statement != null && conn != null) {
try {
resultSet.close();
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return userbean;
}
// 查询所有用户信息
public List<UserBean> selectUser() {
List<UserBean> userlist = new ArrayList<UserBean>();
Connection conn = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建查询所有用户信息sql语句
String select = "select * from t_user;";
System.out.println(select);
// 创建PreparedStatement对象
statement = conn.prepareStatement(select);
// 执行查询sql
resultSet = statement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("u_id");
String name = resultSet.getString("u_name");
int age = resultSet.getInt("u_age");
String address = resultSet.getString("u_address");
UserBean userbean = new UserBean();
userbean.setUid(id);
userbean.setUname(name);
userbean.setUage(age);
userbean.setUaddress(address);
userlist.add(userbean);
}
} catch (Exception e) {
System.out.println("查询信息失败");
e.printStackTrace();
} finally {
if (resultSet != null && statement != null && conn != null) {
try {
resultSet.close();
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return userlist;
}
// 根据id删除用户信息
public void deleteUserById(int userid) {
Connection conn = null;
PreparedStatement statement = null;
try {
// 得到数据库连接
conn = dataSource.getConnection();
// 创建删除数据的sql语句
String delete = "delete from t_user where u_id=?;";
System.out.println(delete);
// 创建PreparedStatement对象
statement = conn.prepareStatement(delete);
statement.setInt(1, userid);
// 执行删除sql
int temp = statement.executeUpdate();
if (temp > 0) {
System.out.println("删除信息成功");
}
} catch (Exception e) {
System.out.println("删除信息失败");
e.printStackTrace();
} finally {
if (statement != null && conn != null) {
try {
statement.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
テスト
package com.wangxing.jdbcdruid.test;
import com.wangxing.jdbcdruid.dao.UserBeanDaoClass;
public class TestMain {
public static void main(String[] args) {
//测试删除数据
UserBeanDaoClass userDao=new UserBeanDaoClass();
userDao.deleteUserById(3);
}
}