使用c3p0连接MySQL数据库并对MySQL数据库进行基本操作。

 
 

1. [文件] 数据库准备 ~ 226B     下载(64)

1
2
3
4
5
6
7
8
9
10
##创建数据库并指定编码
create database test character set utf8;
##切换数据库
use test;
##创建表格
create table user(
id int primary key auto_increment,
name varchar(50),
password varchar(50)
);

2. [文件] c3p0-config.xml ~ 1KB     下载(96)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<c3p0-config>
    <!-- 默认配置,如果没有指定则使用这个配置 -->
    <default-config>
        <property name="checkoutTimeout">30000</property>
        <property name="idleConnectionTestPeriod">30</property>
        <property name="initialPoolSize">10</property>
        <property name="maxIdleTime">30</property>
        <property name="maxPoolSize">100</property>
        <property name="minPoolSize">10</property>
        <property name="maxStatements">200</property>
        <user-overrides user="test-user">
            <property name="maxPoolSize">10</property>
            <property name="minPoolSize">1</property>
            <property name="maxStatements">0</property>
        </user-overrides>
    </default-config>
    <!-- 命名的配置 -->
    <named-config name="test">
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql:///test?useUnicode=true&amp;characterset=utf-8
        </property>
        <property name="user">root</property>
        <property name="password">1234</property>
        <!-- 如果池中数据连接不够时一次增长多少个 -->
        <property name="acquireIncrement">5</property>
        <property name="initialPoolSize">20</property>
        <property name="minPoolSize">10</property>
        <property name="maxPoolSize">40</property>
        <property name="maxStatements">0</property>
        <property name="maxStatementsPerConnection">5</property>
    </named-config>
</c3p0-config>

3. [文件] C3P0Utils.java ~ 615B     下载(85)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.sql.Connection;
import java.sql.SQLException;
 
import javax.sql.DataSource;
 
import com.mchange.v2.c3p0.ComboPooledDataSource;
 
/**
 * c3p0连接MySQL数据库工具包
 *
 * @author 冰雨凌風
 *
 */
public class C3P0Utils {
    // 定义全局变量
    private static ComboPooledDataSource cpds;
    // 静态代码块
    static {
        cpds = new ComboPooledDataSource("test");
    }
 
    // 获得数据源
    public static DataSource getDataSource() {
        return cpds;
    }
 
    // 获得连接
    public static Connection getConnection() throws Exception {
        return cpds.getConnection();
    }
}

4. [文件] User.java ~ 583B     下载(54)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class User {
    private String id;
    private String name;
    private String password;
 
    public String getId() {
        return id;
    }
 
    public void setId(String id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", password=" + password
                + "]";
    }
 
}

5. [文件] C3P0Test.java ~ 2KB     下载(64)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import java.sql.SQLException;
 
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.junit.Test;
 
/**
 * 利用dbutils对数据库进行CURD操作
 *
 * @author 冰雨凌風
 *
 */
public class C3P0Test {
    /**
     * 在数据库中插入数据
     */
    @Test
    public void add() {
        try {
            // 创建执行者
            QueryRunner runner = new QueryRunner(C3P0Utils.getDataSource());
            // 准备sql语句
            String sql = "insert into user(name,password) value(?,?)";
            // 准备参数
            Object[] params = { "admin", "1234" };
            // 执行语句
            runner.update(sql, params);
            System.out.println("插入数据成功!");
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
 
    /**
     * 查询数据
     */
    @Test
    public void query() {
        try {
            // 创建执行者
            QueryRunner runner = new QueryRunner(C3P0Utils.getDataSource());
            // 准备sql语句
            String sql = "select * from user";
            // 执行语句
            User user = runner.query(sql, new BeanHandler<User>(User.class));
            System.out.println(user);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
 
    /**
     * 更新数据
     */
    @Test
    public void update() {
        try {
            // 创建执行者
            QueryRunner runner = new QueryRunner(C3P0Utils.getDataSource());
            // 准备sql语句
            String sql = "update user set password=? where name=?";
            // 准备参数
            Object[] params = { "123456", "admin" };
            // 执行语句
            runner.update(sql, params);
            System.out.println("更新数据成功!");
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
 
    /**
     * 删除数据
     */
    @Test
    public void delete() {
        try {
            // 创建执行者
            QueryRunner runner = new QueryRunner(C3P0Utils.getDataSource());
            // 准备sql语句
            String sql = "delete from user";
            // 执行语句
            runner.update(sql);
            System.out.println("删除数据成功");
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

c3p0操作MySQL数据库的更多相关文章

  1. PHP操作MySQL数据库5个步骤

    PHP操作MySQL数据库一般可分为5个步骤:1.连接MySQL数据库服务器:2.选择数据库:3.执行SQL语句:4.关闭结果集:5断开与MySQL数据库服务器连接. 1.用mysql_connect ...

  2. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  3. 转 用C API 操作MySQL数据库

    用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,“C API函数描述”. 函数 描述 mysql_a ...

  4. PHP操作mysql数据库:[2]查询数据听语音

    本文主要详细讲解如何使用php语言,对mysql数据库进行查询.添加.删除.更新等操作. 工具/原料   Macromedia Dreamweaver 8 mysql数据库,php语言 一.前言   ...

  5. Code First操作Mysql数据库

    前面博客也讲了,自己做一个网站,选用的是MVC+EF Code First+MySql+EasyUI,先说下技术选型.一.为什么选择MVC? 因为之前自己做的系统大部分是webForm,MVC的之前也 ...

  6. JDBC操作MySQL数据库案例

    JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

  7. shell脚本操作mysql数据库

    shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql  -hhostname -Pport -uusername -pp ...

  8. Java使用Jdbc操作MySql数据库(一)

    这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...

  9. 使用node js 操作 Mysql 数据库

    使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...

随机推荐

  1. 数组包含字典-根据key排序

    NSArray *array = [NSArray array]; [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id ...

  2. Linux下tmpfs与ramfs的区别

      ramfs是Linux下一种基于RAM做存储的文件系统.在使用过程中你就可以把ramfs理解为在普通的HDD上建立了一个文件系统,而现在HDD被替换成了RAM,因为是RAM做存储所以会有很高的存储 ...

  3. 2016/7/30 div位置设置,表格大小统一

    在做作业过程中遇到的一些问题和我的总结 1.作业中给出了一张背景图,并让我在背景图中一片区域写内容 我的思路是将一个div放在这片区域,那么问题就是如何定义div的位置和大小 查阅资料后发现并不复杂, ...

  4. Non-constant Fields in Case Labels

    Non-constant Fields in Case Labels in android library project http://tools.android.com/tips/non-cons ...

  5. 官方文档学习之《start developing iOS apps(swift)》

    1.  let 关键字是用来定义常量的,任何类型的常量都可以进行定义:例如:定义字符串 let constantValue1 = "this is a string",也可以定义数 ...

  6. 封装数据库mysql, mysqli

    <?php header("content-type:text/html;charset=utf-8"); class db{    //私有的静态属性    private ...

  7. susy-Toolkit 之翻译

    Toolkit工具包 The Susy 2.0 toolkit is built around our shorthand syntax. Use the shorthand to control e ...

  8. iPhone各控件的默认高度

    1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图 用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明 ...

  9. 在Runbook中添加Checkpoint-workflow

    本文说明的是使用Checkpoint-workflow的一种场景(当然还有其他场景需要Checkpoint-workflow). 起因:Windows Azure对Automation账户中的Runb ...

  10. 图像和滚动 、 编程规范和Xcode(一)

    1 在界面上以各种模式显示图片 1.1 问题 在ios开发中经常需要展示图片以满足需求和美化界面,本案例将学习如何以代码的方式使用UIImageView视图控件来展示图片,如图-1所示: 图-1 1. ...