使用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. AudioQueue语音流 speex压缩 实时通讯 对讲机

    参开 http://blog.csdn.net/liulina603/article/details/19029727    博客有多篇文章 http://blog.csdn.net/liulina6 ...

  2. FreebuF黑客专访系列之吴翰清(刺):接下来几年,有两样东西必定会火

        注:吴翰清——中国网络安全圈最具影响力的人物之一.西安交大少年班毕业,大学期间创办民间组织幻影,阿里巴巴集团最年轻的高级安全专家,创新工场安全宝任联合副总裁,热门公众微信“道哥的黑板报”幕后作 ...

  3. How Android Draws Views

    https://developer.android.com/guide/topics/ui/how-android-draws.html

  4. iOS 实现简单的Http 服务

    http 是计算机之间通讯协议的比较简单的一种.在iPhone上,由于没有同步数据和文件共享,所以实现PC与设备之间的数据传输的最佳方式就是在程序中嵌套一个http 服务器.在这篇帖子中,我将简单的演 ...

  5. Intellij导入外部的jar

    File -> Project Structure (ctrl + shift + alt + s ) -> Module -> Dependencies -> Add... ...

  6. Mac抓包工具Charles

    一.下载 先到它的官网http://www.charlesproxy.com/可下载到最新版本,这个下载有点慢,我已经将它放到网盘中了:http://pan.baidu.com/s/1gdu0S4V ...

  7. Windows Phone,向localdatabase中插入时间数据出现不能转换的错误

    在开发一个小程序时,使用到了DateTime类型的 DBType, 当向数据库中插入一条信息时,报错说是DateTime类型不能转换. 后来发现是系统给我的DateTime类型的列赋予了个初值,而这个 ...

  8. 让UIWebView弹出键盘上的按钮显示中文

    UIWebView是一个很常用的视图,一般用来加载网页,比如百度: 点击文本框输入框后,会弹出一个带有toolbar的键盘,toolbar中有3个辅助按钮 有了这3个按钮,是方便很多,但默认是英文的, ...

  9. 《JS高程》创建对象的7种方式(完整版)

    一.理解对象 ECMA-262定义对象:无序属性的集合,其属性可以包含基本值.对象或者属性. 我们可以把 ECMAScript 的对象想象成 散列表:无非就是一组 名值对,其中值可以是数据或函数. 创 ...

  10. MySQL语句进行分组后的含有字段拼接方法

    MySQL语句: SELECT GROUP_CONCAT(DISTINCT transaction_no) FROM `lm_wh_trans` GROUP BY staff_code; 如果tran ...