1.首先准备C3P0jar包:
c3p0-0.9.1.2.jar ,这是我使用的,然后下载对应的数据库驱动jar包,mysql-connector-java-5.1.42-bin.jar,然后再下载一个commons-dbutils-1.4.jar包。
2.建立一个web工程,然后把上述3个包放到web-INFO的lib里去。
3.我这里使用的是数据库是mysql,在数据库里创建立一个表单,再插入两个数据
create table account(
id CHAR(10),
name CHAR(10),
money INTEGER
)
insert into account(id,name,money) value(1,”tome”,1000);
insert into account(id,name,money) value(2,”jerry”,1000);
4.编写数据库操作类
4.1写一个C3P0Util的类,用来获取数据源,以及从数据源中获取连接方法,以及关闭连接方法。
4.2再写一个c3p0-config.xml(固定格式名,不能更改)在src目录下,在xml中更改连接数据库所需要的参数:
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/demo</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
4.3 写一个数据库表单中的对应的类,包括表单中的成员函数和set/get方法。
private int id;
private String name;
private double money;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
@Override
public String toString() {
return "Account [id=" + id + ", name=" + name + ", money=" + money
+ "]";
}
4.4 写一个数据库DAO层,用来对数据库进行CRUD操作类。
比如update insert into select ,接口如下
public void updateAccount(String fromname,String toname,double money)throws Exception;
public void updateAccount(Account acount) throws Exception;
public Account findAcount(String fromname) throws Exception;
4.5写一个业务层的类,用来处理CRUD操作前期的业务,比如更改账户数据等。
4.6写一个服务类,用来调用业务层的操作方法,
4.7写一个main函数,调用服务类的方法,让用户输入对应的账户和转账金额。把这些信息传入到服务类中的方法,通过服务类的方法来调用业务层的方法,在业务层进行数据处理,最后调用DAO层的CRUD方法把数据更新到数据库中。
注意:在对数据进行更新的时候,必须使用setAutoCommit 开始事务 commit();//提交事务 rollback 回滚事物。不然在数据操作的时候出现异常的话,就会导致误动作。