<c3p0-config><default-config><propertyname="automaticTestTable">con_test</property><propertyname="checkoutTimeout">30000</property><propertyname="idleConnectionTestPeriod">30</property><propertyname="initialPoolSize">10</property><propertyname="maxIdleTime">30</property><propertyname="maxPoolSize">100</property><propertyname="minPoolSize">10</property><propertyname="maxStatements">200</property><user-overridesuser="test-user"><propertyname="maxPoolSize">10</property><propertyname="minPoolSize">1</property><propertyname="maxStatements">0</property></user-overrides></default-config><!-- This app is massive! --><named-configname="intergalactoApp"><propertyname="acquireIncrement">50</property><propertyname="initialPoolSize">100</property><propertyname="minPoolSize">50</property><propertyname="maxPoolSize">1000</property><!-- intergalactoApp adopts a different approach to configuring statement caching --><propertyname="maxStatements">0</property><propertyname="maxStatementsPerConnection">5</property><!-- he's important, but there's only one of him --><user-overridesuser="master-of-the-universe"><propertyname="acquireIncrement">1</property><propertyname="initialPoolSize">1</property><propertyname="minPoolSize">1</property><propertyname="maxPoolSize">5</property><propertyname="maxStatementsPerConnection">50</property></user-overrides></named-config></c3p0-config>
1.2.2 启动C3P0核心类
/**
* 启动C3P0数据库连接,创建数据库连接池
*/privatestatic ComboPooledDataSource pool =newComboPooledDataSource();// 会自动加载对应的c3p0-config.xml文件中的配置内容,启动c3p0数据库连接池
use javaee1911;
-- 查询什么内容
-- 员工表内 id,name 以及 部门表 deptName
select employee.id,
employee.name,
dept.deptName
-- 从哪里查
from employee,
dept
-- 什么条件 如果没有条件约束,到导致联表查询结果成为笛卡尔乘积
where employee.deptId = dept.id;
-- 查询什么内容
-- 员工表内 id,name 以及 部门表 deptName
select e.id,
e.name,
d.deptName
-- 从哪里查
from employee e,
dept d
-- 什么条件 如果没有条件约束,到导致联表查询结果成为笛卡尔乘积
where e.deptId = d.id;
-- 查询什么内容
-- 员工表内 id,name 以及 部门表 deptName
select e.id,
e.name,
d.deptName
-- 从哪里查
from employee e
-- 内连接查询,inner join 内连接操作之后,条件约束使用on
inner join dept d on e.deptId = d.id;
-- 什么条件 如果没有条件约束,到导致联表查询结果成为笛卡尔乘积
-- 查询出所有部门对应的员工,如果当前部门没有员工,显示null
select d.deptName, e.name
from dept d
-- left outer join 左表完整展示,右表匹配数据,
-- 如果右表没有对应都是数据,显示null
left outer join employee e on d.id = e.deptId;
select e.name, d.deptName
from employee e
-- right outer join 右表完整显示,左表匹配数据
-- 如果左表没有对应都是数据,显示null
right outer join dept d on e.deptId = d.id;
3.2 子查询
查询的结果作为其他查询语句的条件
涉及到的一些关键字:
in、not in、=、!=、exists、not exists
create table emp
(
id int primary key auto_increment,
name varchar(30) not null,
deptId int not null
)
create table department
(
id int primary key auto_increment,
deptName varchar(30) not null
);
insert into emp(name, deptId) value('雷神', 1);
insert into emp(name, deptId) value('寡姐', 2);
insert into emp(name, deptId) value('钢铁侠', 3);
insert into emp(name, deptId) value('诺基', 1);
insert into emp(name, deptId) value('浩克', 2);
insert into department(id, deptName) value(1, '雷人部');
insert into department(id, deptName) value(2, '单身部');
insert into department(id, deptName) value(4, '虐狗部');