利用DBUtils提供的工具来操作数据库
准备工作:导入apache的jar包:commons-dbutils-1.4.jar;
两个重要的类:
一.DbUtils:public static void closeQuietly(Connection conn,
Statement stmt,
ResultSet rs);//该方法用来关闭资源;
二.QueryRunner实现数据增删改:QueryRunner.update(String sql,Object... params) throws SQLException
1.原始方法增加数据;
示例代码:
2.QueryRunner删除数据:
示例代码:
3.自己写MyQueryRunner类来修改数据:
MyQueryRunner类代码如下:
修改数据库表中数据代码如下:
准备工作:导入apache的jar包:commons-dbutils-1.4.jar;
两个重要的类:
一.DbUtils:public static void closeQuietly(Connection conn,
Statement stmt,
ResultSet rs);//该方法用来关闭资源;
二.QueryRunner实现数据增删改:QueryRunner.update(String sql,Object... params) throws SQLException
1.原始方法增加数据;
示例代码:
<span style="white-space:pre"> </span>Connection conn=null;
PreparedStatement ps=null;
ComboPooledDataSource pool=new ComboPooledDataSource();
try{
conn=pool.getConnection();
ps=conn.prepareStatement("insert into account values(null,?,?)");
ps.setString(1, "c");
ps.setInt(2, 997);
ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}finally{
DbUtils.closeQuietly(conn);
DbUtils.closeQuietly(ps);
}
2.QueryRunner删除数据:
示例代码:
QueryRunner runner=new QueryRunner(new ComboPooledDataSource());
runner.update("delete from account where id=?", 2);
3.自己写MyQueryRunner类来修改数据:
MyQueryRunner类代码如下:
<span style="white-space:pre"> </span>package com.oterman.DButils;
import java.sql.Connection;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.sql.DataSource;
public class MyQueryRunner {
private DataSource source=null;
public MyQueryRunner(DataSource source){
this.source=source;
}
public void update(String sql,Object...objs) throws SQLException{
Connection conn=source.getConnection();
PreparedStatement ps=conn.prepareStatement(sql);
//获取参数元数据;用来操作传入的可变参数;
ParameterMetaData metaData= ps.getParameterMetaData();
int count=metaData.getParameterCount();//获取参数个数,也就是问号个数;
for(int i=1;i<=count;i++){
ps.setObject(i, objs[i-1]);
}
ps.executeUpdate();
}
}
修改数据库表中数据代码如下:
MyQueryRunner runner=new MyQueryRunner(new ComboPooledDataSource());
runner.update("update account set money=? where id=?",988,3);