jdbc是Java数据库连接的意思(Java Data Base Connectivity)
属于tcp(点对点类型的连接)一共分为5步
1、加载驱动
通过放射的方式 不需要返回值 只是加载一下
2、通过驱动管理器获取连接
url是数据库的专有路径写法
jdbc:oracle:thin:@127.0.0.1(ip地址):1521:orcl
3、通过;连接获取一个声明
还需要一条 sql语句 String类型的
4、执行sql
执行后返回一个int型数或者一个 数据集表示执行了几条数据 或是一个得到的数据集 需要查看的
5、关闭流
例:
package com.sxt;
/**
* jdbc连接数据库 分为5 步
* 这是其中的 插入 用executeupdate
* 插入 删除 更新 一样
*
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class JdbcDemo {
public static void main(String[] args) throws Exception {
// 1 通过反射加载驱动 寻找class地址 oracle.jdbc.driver OrcaleDriver.class 地址
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2 通过驱动管理器获取连接 地址可提取出去
Connection cc = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "tiger");
// 或取得连接是有内存地址的 可以打出来看看
// System.out.println(cc);
// 3 通过连接获取一个声明
Statement cs = cc.createStatement();
// 插入的格式 一个字符串
String s = "insert into emp values(111,'jdbc','连接',7777,sysdate,666,null,10)";
// 4 通过 声明出来的对象调用 插入的语句 会返回一个 执行了多少次的 int型数据
int i = cs.executeUpdate(s);
System.out.println(i);
// 5 关流
cs.close();
cc.close();
}
}
package com.sxt;
/**
* jdbc连接数据库 查询
* 使用executequery
* 查询与 增删改不一样 它返回的是一个集合 需要 遍历 出来
* 但是 遍历出来需要一个值一个值得拿
*
*/
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcDemo2 {
public static void main(String[] args) throws Exception {
// 1 加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2 通过驱动管理器获取连接
Connection cc = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "tiger");
// 3 通过连接 获取一个声明
Statement cs = cc.createStatement();
String s = "select * from emp";
// 执行 sql语句 返回一个 查询的集合
ResultSet ss = cs.executeQuery(s);
// 遍历这个集合的方式 需要一个一个的取 返回的集合遍历也是一个流 最后需要关闭流
while (ss.next()) {
int empno = ss.getInt("empno");
String ename = ss.getString("ename");
String job = ss.getString("job");
int mgr = ss.getInt("mgr");
Date hiredate = ss.getDate("hiredate");
double sal = ss.getDouble("sal");
double comm = ss.getDouble("comm");
int deptno = ss.getInt("deptno");
System.out.println(empno + "\t" + ename + "\t\t" + job + "\t\t"
+ mgr + "\t\t" + hiredate + "\t\t" + sal + "\t\t" + comm
+ "\t\t" + deptno + "\t");
}
// 关流
ss.close();
cs.close();
cc.close();
}
}