java dbutils 模板_java学习笔记之DBUtils工具包

DBUtils工具包

一.介绍

DBUtils是Apache组织开源的数据库工具类。

二.使用步骤

①.创建QueryRunner对象

②.调用update()方法或者query()方法执行sql语句

三.构造方法及静态方法

QueryRunner类

1.构造方法

①.无参构造

QueryRunner qr =new  QueryRunner();

使用无参构造的时候,调用update方法和query方法时就需要使用带Connection 类型参数的重载形式

②.有参构造

QueryRunner  qr= new QueryRunner(DataSource  dataSource);

这个参数是连接池对象

2.静态方法

①.int  update(Connection  con ,String sql ,Param);

该方法用于增删改语句的操作

参数介绍:

参数一:连接池对象(这个在无参构造的时候使用)

参数二:sql语句

参数三:可变参数(就是sql占位符的值)

返回值:int类型的  返回受影响的行数

简单update  demo

1 public classDemo {2 public static void main(String[] args) throwsException {3 /*

4 * 演示有参构造的update()方法5 *6 * 首先得导入jar包7 * 配置好C3P0的配置文件与准备好C3P0工具类8 * 然后创建QueryRunner对象9 * 调用update方法10 * 最后处理结果11 */

12 QueryRunner qr = newQueryRunner(C3P0Utils.getDataSource());13 int re = qr.update("update user set name=? where uid=?","张三",2);14 if(re>0){15 System.out.println("修改成功");16 }else{17 System.out.println("修改失败");18 }19 }20 }

附上简单的C3P0工具类

1 public classC3P0Utils {2 private static DataSource dataSource=newComboPooledDataSource();3 /**

4 * 获得DataSource实现类对象5 *@return

6 */

7 public staticDataSource getDataSource(){8 returndataSource;9 }10 /**

11 * 获得连接12 *@return

13 *@throwsException14 */

15 public static Connection getConnection()throwsException{16 returndataSource.getConnection();17 }18 }

②.query(Connection con , String sql  ,Param ...)

该方法用于出查询操作

参数介绍:

参数一:Connection  数据库连接对象, 使用带参构造时可以不用

参数二:sql语句

参数三:表示对结果集的处理方式 (ResultSetHandler接口)

ArrayHandler: 表示将结果集第一行的数据存入数组

ArrayListHandler 将结果集每一行的数据存入数组,多个数组存入集合 List

BeanHandler 表示将结果集第一行的数据存入Java Bean对象

BeanListHandler 表示将结果集每一行的数据存入Java Bean对象 ,多个对象存入集合

ColumnListHandler 表示将某一列的数据存入集合

MapHandler 表示将结果集第一行的数据存入Map集合 :键:列名 值:列的值

MapListHandler 表示将结果集每一行的数据存入Map集合 多个Map存入List集合 List>

ScalarHandler 获取一个值: count(*) sum(price)

参数四:可变参数(就是sql占位符的值)

使用BeanListHandler处理方式的demo:

1 public void demo1() throwsException{2 QueryRunner qr = newQueryRunner(MyC3P0Utils.getDataSource());3 List list = qr.query("select * from car where price<20 order by price desc", new BeanListHandler<>(Car.class));4 for(Car car : list) {5 System.out.println(car);6 }7

8 }

javaBean类的编写:

1 public classCar {2 private intcid;3 privateString cname;4 privateString company;5 privateString grade;6 private doubleprice;7 @Override8 publicString toString() {9 return "Car [cid=" + cid + ", cname=" + cname + ", company=" + company + ", grade=" + grade + ", price=" +price10 + "]";11 }12 public intgetCid() {13 returncid;14 }15 public void setCid(intcid) {16 this.cid =cid;17 }18 publicString getCname() {19 returncname;20 }21 public voidsetCname(String cname) {22 this.cname =cname;23 }24 publicString getCompany() {25 returncompany;26 }27 public voidsetCompany(String company) {28 this.company =company;29 }30 publicString getGrade() {31 returngrade;32 }33 public voidsetGrade(String grade) {34 this.grade =grade;35 }36 public doublegetPrice() {37 returnprice;38 }39 public void setPrice(doubleprice) {40 this.price =price;41 }42 public Car(int cid, String cname, String company, String grade, doubleprice) {43 super();44 this.cid =cid;45 this.cname =cname;46 this.company =company;47 this.grade =grade;48 this.price =price;49 }50 publicCar() {51 super();52 //TODO Auto-generated constructor stub

53 }54

55 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package com.parddu.dao; import java.io.IOException; import java.sql.*; import java.util.Properties; /** * 数据库功能类 * @author parddu * @version Sep 29, 2010 9:49:31 AM */ class DButil { private String driver=null; //驱动 private String dbName=null; //数据库名 private String host=null; //主机名 private String point=null; //端口 private String userName=null; //登录帐号 private String userPass=null; //登录密码 private static DButil info = null; private DButil(){} /** * 初始化方法,加载数据库连接信息 * @throws IOException */ private static void init() throws IOException{ Properties prop = new Properties(); prop.load(DButil.class.getResourceAsStream("/db_config.properties")); info = new DButil(); info.driver = prop.getProperty("driver"); info.dbName = prop.getProperty("dbName"); info.host = prop.getProperty("host"); info.point = prop.getProperty("point"); info.userName = prop.getProperty("userName"); info.userPass = prop.getProperty("userPass"); } /** * 得到数据库连接对象 * @return 数据库连接对象 */ static Connection getConn(){ Connection conn=null; if(info == null){ try { init(); } catch (IOException e) { throw new RuntimeException(e.getMessage()); } } if(info!=null){ try { Class.forName(info.driver); String url="jdbc:sqlserver://" + info.host + ":" + info.point + ";databaseName=" + info.dbName; conn=DriverManager.getConnection(url,info.userName,info.userPass); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } } else{ throw new RuntimeException("读取数据库配置信息异常!"); } return conn; } /** * 关闭查询数据库访问对象 * @param rs 结果集 * @param st 上下文 * @param conn 连接对象 */ static void closeConn(ResultSet rs, Statement st,Connection conn){ try { rs.close(); } catch (Exception e) {} try { st.close(); } catch (Exception e) {} try { conn.close(); } catch (Exception e) {} } /** * 关闭增、删、该数据库访问对象 * @param st 上下文对象 * @param conn 连接对象 */ static void closeConn(Statement st ,Connection conn){ try{ st.close(); conn.close(); }catch(Exception e){} } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值