javaDBUtils简单使用,简单连接数据库进行增删改查

解释都在注释中,直接贴代码吧!

首先要准备一个javabean来接收数据库传来的信息 User如下:

package cn.edu.bdu.user;

public class User {
	private int id;
	private String username;
	private String password;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	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;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", username=" + username + ", password=" + password + "]";
	}
	
}

接下来就是DBUtils的使用了,直接贴代码了,注释都很详细

package com.itheima.DBUtils;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import cn.edu.bdu.user.User;

public class testDBUtils {
	@Test
	public void test(){
		//首先使用c3p0创建DataSource
		ComboPooledDataSource cpds = new ComboPooledDataSource();
		
		try {
			//DBUtils只是帮助我们简化增删改查的代码,连接的创建和获取,不在DBUtils的考虑范围之内
			//创建QueryRunner对象,可以操作增删改查  new QueryRunner的时候要注意传参,参数为一个连接池 dataSource
			QueryRunner queryRunner = new QueryRunner(cpds);
			//测试增加
//			queryRunner.update("insert into stu_user values(null,?,?)", "aaa","123456");
			//测试删除
//			queryRunner.update("delete from stu_user where id = ?",2);
			//测试修改
//			queryRunner.update("update stu_user set username=? where id=?", "bbb",3);
			
			//测试查询,首先用自己写匿名实现类自己封装的方法 后面的rsh是ResultSetHandler<T> T装泛型,此时需要写一个JavaBean来封装  目前只是查询一个的
			User user = queryRunner.query("select * from stu_user where id=?",new ResultSetHandler<User>(){
				User user = new User();
				@Override
				public User handle(ResultSet rs) throws SQLException {
					
					while(rs.next()){
						//获取三个的值后封装
						int id = rs.getInt("id");
						String username = rs.getString("username");
						String password = rs.getString("password");
						
						user.setId(id);
						user.setUsername(username);
						user.setPassword(password);
					}
					return user;
				}
			} , 3);
			
			System.out.println(user);
			
			//测试查询,使用现在不自己写匿名实现类了,直接用人家写的实现类 
			//BeanHandler(一个对象) 和 BeanListHandler(多个对象)  尖括号里面装JavaBean 圆括号里面装字节码,他要通过字节码来创建实例化对象
			List<User> list = queryRunner.query("select * from stu_user", new BeanListHandler<User>(User.class));
			System.out.println(list);
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值