利用C3P0数据源来作连接池,简单的写一个数据库操作来描述分层思想

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 回滚事物。不然在数据操作的时候出现异常的话,就会导致误动作。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值