JDBC
Oracle安装要求:
JDBC
安装目录必须是英文,建议默认目录不要修改。
- 安装后不要使用360.
安装过程中,记住密码。
访问 http://localhost:8080/apex;
确认是否能够看到数据库主页。- Oracle默认
超级管理员:
用户名: system sys
密码:**
普通测试账户:
用户名: hr
密码: hr
- 解锁hr账户
使用超级管理员登陆 http://localhost:8080/apex
管理‐‐‐‐>数据库用户‐‐‐‐>管理用户‐‐‐>解锁hr.
- 安装Navicat
连接:
连接名: 仅仅是个名字。
主机/ip: 数据库所在的计算机的ip地址
端口号:默认1521
服务名:XE
XE:便携版oracle
orcl:标准版的oracle
bug:
将oracle xe相关的服务启动,其他oracle服务停止并且禁用。
需要启动:
OracleJobscheduleXE
OracleServiceXE
OracleXE**Listener
OracleXEClrAgent
解释1:一套操作数据库的Java API。(几个接口 interface 标准)
解释2:一套类,用来发送sql语句的。
客户端操作模式:Oracle客户端‐‐‐‐‐(发送SQL)‐‐‐‐‐Oracle数据库.
jdbc操作数据库模式:Java代码‐‐‐‐‐(发送SQL)‐‐‐‐‐Oracle数据库.
常见类:
Connection 数据库连接。
PrepareStatement 发送SQL语句工具
ResultSet 存放查询结果
案例:
使用JDBC,向数据库的t_person表中插入一条数据。
100 张三 1 21 sunwh@qq.com 15533349999 幸福屯
insert into t_person values(‘100’,’张三’,1,21,’sunwh@qq.com’,’15533349999’,’幸福屯’);
表:
create table t_person(
id varchar2(36) primary key,
name varchar2(30),
sex number(1),
age number(3),
email varchar2(30),
phone varchar2(11),
address varchar2(200)
);
JDBC编程步骤:
0. 引入ojdbc5.jar包。
加载jar包核心驱动类.
Class.forName(“oracle.jdbc.OracleDriver”);
1. 连接数据库 Connection
2. 准备SQL语句:
3. 发送SQL语句: PrepareStatement
4. 关闭资源:
发送sql工具、连接
5.
代码示例:
// 0. 准备工作,加载jar,加载驱动类3. ResultSet
接受并且存放查询结果
接受查询结果
ResultSet rs = pstm.executeQuery();
获取rs中的数据
rs.next(); 一定rs指针向后一位,返回值带表当前行是否存在数据
rs.getXxxx(从1开始数字);
rs.getXxxxx(“字段名”)
// 0. 准备工作,加载jar,加载驱动类
Class.forName("oracle.jdbc.OracleDriver");
// 1. 连接数据库 Connection
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
// 2. 准备SQL语句:
String sql = "insert into t_person values('100','张三',1,21,'sunwh@qq.com','15533349999','幸福屯')";
// 3. 发送SQL语句: PrepareStatement
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.executeUpdate();
// 4. 关闭资源:
if (pstm != null)
pstm.close();
if (conn != null)
conn.close();
// 发送sql工具、连接 示例代码
练习:
① 准备一个t_user表(id,username,password);
② 写一个程序JDBC访问数据库,完成登录功能。
请输入用户名:
请输入密码:
登录成功/失败。
③ username、password
发送查询用户的sql: select * from t_user where username = ‘’ and password =”;
- PreparedStatement
- JDBCUtil
- DAO
- 事务控制+ThreadLocal
// 0. 准备工作,加载jar,加载驱动类
Class.forName(“oracle.jdbc.OracleDriver”);
// 1. 连接数据库 Connection
Connection conn = DriverManager.getConnection(
“jdbc:oracle:thin:@localhost:1521:xe”, “hr”, “hr”);
// 2. 准备sql
String sql = “select id,name,sex,age,email,phone,address from t_person”;
// 3. 发送sql
PreparedStatement pstm = conn.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
// 4. 处理结果集ResultSet
while (rs.next()) {
String id = rs.getString(“id”);
String name = rs.getString(2);
int sex = rs.getInt(3);
System.out.println(id + “:” + name + “:” + sex);
}
// 5. 关闭资源(先打开的后关闭)
if (rs != null)
rs.close();
if (pstm != null)
pstm.close();
if (conn != null)
conn.close();