一、前期准备
1、安装数据库(如:mysql5.5)
2、安装Eclipse(如:3.4)
3、下载数据库驱动包
4、下载dbutis工具包
5、在Eclipse创建名为 dbutils 的工程并在工程下创建名为lib的文件夹。
将commons-dbutils-1.2.jar与mySql的驱动包拷贝到lib目录
选中这两个jar包右击->build path-->Add to build path
二:
1、在scr目录下创建名为dbcpconfig.properties的文件内容如下
#连接设置
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mydb
username=root
password=root
#<!-- 以上非常重要 -->
#<!-- 初始化连接 -->
initialSize=10
#最大连接数量
maxActive=50
#<!-- 最大空闲连接 -->
maxIdle=20
#<!-- 最小空闲连接 -->
minIdle=5
#<!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒 -->
maxWait=60000
#JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;]
#注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。
connectionProperties=useUnicode=true;characterEncoding=utf8
#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true
#driver default 指定由连接池所创建的连接的只读(read-only)状态。
#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)
defaultReadOnly=
#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
defaultTransactionIsolation=READ_COMMITTED
2、创建包(com.fly31.domain)在该包下创建实体bean
import java.util.Date;
public class User {
private int id;
private String name;
private String password;
private String email;
private Date birthday;
//getter和setter省略
}
然后依据实体bean创建数据表
create database mydb;
use mydb;
create table users(
id int primary key,
name varchar(40),
password varchar(40),
email varchar(60),
birthday date
);
3、创建JDBCUtils,用于创建连接
public class JdbcUtils {
private static DataSource ds;
private static ThreadLocal<Connection> tl = new ThreadLocal<Connection>(); //map
static{
try{
Properties prop = new Properties();
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
prop.load(in);
BasicDataSourceFactory factory = new BasicDataSourceFactory();
ds = factory.createDataSource(prop);
}catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
public static DataSource getDataSource(){
return ds;
}
public static Connection getConnection() throws SQLException{
try{
//得到当前线程上绑定的连接
Connection conn = tl.get();
if(conn==null){ //代表线程上没有绑定连接
conn = ds.getConnection();
tl.set(conn);
}
return conn;
}catch (Exception e) {
throw new RuntimeException(e);
}
}
}
现在准备工作已经完成,可以用dbutils做增删查改操作了。
三、用dbutis对数据进行增删查改操作。
创建包(com.fly31.dbutils),在该包下创建类名为TestDbutils类
import java.sql.SQLException;
import java.util.Date;
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 org.junit.Test;
import cn.itcast.domain.User;
import cn.itcast.utils.JdbcUtils;
public class TestDbutils{
//使用dbutils完成数据库的crud
@Test
public void insert() throws SQLException{
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
String sql = "insert into users(id,name,password,email,birthday) values(?,?,?,?,?)";
Object params[] = {2,"bbb","123","aa@sina.com",new Date()};
runner.update(sql, params);
}
@Test
public void update() throws SQLException{
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
String sql = "update users set email=? where id=?";
Object params[] = {"aaaaaa@sina.com",1};
runner.update(sql, params);
}
@Test
public void delete() throws SQLException{
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
String sql = "delete from users where id=?";
runner.update(sql, 1);
}
@Test
public void find() throws SQLException{
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
String sql = "select * from users where id=?";
User user = (User) runner.query(sql, 1, new BeanHandler(User.class));
System.out.println(user.getEmail());
}
@Test
public void getAll() throws Exception{
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
String sql = "select * from users";
List list = (List) runner.query(sql, new BeanListHandler(User.class));
System.out.println(list);
}
@Test
public void batch() throws SQLException{
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
String sql = "insert into users(id,name,password,email,birthday) values(?,?,?,?,?)";
Object params[][] = new Object[3][5];
for(int i=0;i<params.length;i++){ //3
params[i] = new Object[]{i+1,"aa"+i,"123",i + "@sina.com",new Date()};
}
runner.batch(sql, params);
}
}
分享到:
相关推荐
综上所述,这个学生信息管理系统利用MVC设计模式,实现了对学生数据的高效管理。通过集成MySQL数据库进行数据存储,C3P0连接池优化数据库连接管理,以及DBUtils简化数据库操作,系统具有良好的结构和性能。...
在IT行业中,数据库操作是日常开发中的重要环节,而`dbutils`是一个非常实用的Java数据库操作工具包,它简化了对数据库进行增删改查(CRUD)操作的过程。本示例着重介绍如何结合`dbutils`与Oracle数据库进行高效的...
在这个场景中,我们讨论的是使用Java Web进行数据库的增删查改操作,特别是通过C3P0连接池和DBUtils工具库来管理MySQL数据库。 C3P0 是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的...
数据库部分:创建表、增删改查语句的书写等。 前端部分:HTML、CSS、jQuery、JavaScript等。 编码顺序 添加项目需要使用的各种jar包 HTML 页面表单的编写 Apache方法的DBUtils编写 实体类的数据初始化(添加私有...
5. **DBUtils类**:为了简化数据库操作,可以创建一个工具类`DBUtils`,实现单例模式以管理数据库连接。这个类提供了获取`Connection`、`Statement`、`PreparedStatement`的方法,以及关闭资源的辅助方法。这样,...
数据库部分:创建表、增删改查语句的书写等。 前端部分:HTML、CSS、jQuery、JavaScript等。 编码顺序 添加项目需要使用的各种jar包 HTML 页面表单的编写 Apache方法的DBUtils编写 实体类的数据初始化(添加私有...
DBUtils是apache下的一个小巧的JDBC轻量级封装的工具包,其最核心的特性是结果集的封装,可以直接将查询出来的结果集封装成JavaBean,这就为我们做了最枯燥乏味、最容易出错的一大部分工作。
在本项目"C3P0+DBUtils+Ajax+Json+Jquery实现【增删改查】Demo"中,我们将探讨如何结合这些技术来构建一个功能完善的Web应用,用于执行基本的数据操作,即增(Add)、删(Delete)、改(Modify)和查(Query)。...
自己写的一个登录功能,利用dbutils(c3p0连接池)实现登录,每个都有注释,亲测可用
在本教程中,我们将深入探讨如何使用 DBUtils 来实现基本的 CRUD(创建、读取、更新、删除)操作。 首先,我们需要了解 CRUD 操作的基本概念。在数据库管理中,CRUD 是四种基本的操作类型: 1. 创建(Create):向...
在IT行业中,Web开发是一项核心技能,而JSP...开发者可以通过学习和实践这个项目,掌握如何使用JSP创建动态页面,使用Servlet处理业务逻辑,以及使用MySQL存储和操作数据,为今后更复杂的Web应用开发奠定坚实的基础。
DBUtils工具类的出现就是为了减轻开发人员在使用JDBC时的负担,提供了一种更加简洁、安全的方式来执行数据库操作。 DBUtils的核心功能包括: 1. **资源管理**:自动关闭数据库连接、Statement和ResultSet,避免...
以上是关于“struts2+DBUtils实现的用户信息增删改查,包含文件上传下载”这个项目的详细解析,涵盖了Struts2框架的使用、分层架构的设计、数据库操作、文件上传下载等多个核心知识点。这样的项目对于理解和掌握...
DbUtils是Apache组织提供的一款Java数据库操作工具包,它的全称是Apache Commons DbUtils。DbUtils的主要目的是简化数据库...模板建站和系统软件工具也可以利用DbUtils简化数据库操作部分,使代码更加简洁和易于维护。
`dbutils` 是一个基于Java的开源数据库操作工具包,它在JDBC(Java Database Connectivity)的基础上提供了一层简洁而强大的封装,极大地简化了数据库的编程工作。`dbutils` 由Apache软件基金会开发并维护,是许多...
JDBC学习(九)dbUtils原理代码实例,包含三个demo:正常C3P0数据库池对数据库的增删改查操作;自己实现dbutils对数据库实现增删改查操作;使用apache的工具类dbutils对数据库增删改查操作。
DBUtils 是一个开源的 Java 工具包,主要用于简化 JDBC(Java Database Connectivity)操作,它由 Apache Software Foundation 提供,并广泛应用于各种 Java 开发项目中。DBUtils 的设计目标是提高开发效率,减少...
在Java开发中,`dbutils`是一个非常实用的数据库操作工具包,它简化了JDBC(Java Database Connectivity)的一些繁琐工作,比如连接管理、结果集处理等,使得开发者可以更专注于SQL语句的编写和数据的处理。...
它支持多种数据库,如MySQL、Oracle、SQL Server等,通过统一的API进行数据的增删改查,降低了开发者在不同数据库间切换时的学习成本。此外,dbutils还引入了连接池管理,有效提高了数据库资源的利用率,减少了...
在本系统中,我们采用JDBC来连接MySQL数据库,实现数据的增删改查操作。 为了建立JDBC连接,首先需要加载相应的驱动,这里使用的是MySQL的JDBC驱动。在项目中引入`mysql-connector-java`的jar包后,可以通过以下...