使用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&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);
}
}
}
|