Oracle连接JDBC和集合.docx
《Oracle连接JDBC和集合.docx》由会员分享,可在线阅读,更多相关《Oracle连接JDBC和集合.docx(13页珍藏版)》请在冰豆网上搜索。
Oracle连接JDBC和集合
知识点一:
Oracle的集合运算
分类:
1、并集(union/unionall)unionall不会消去重复行,union消去重复行unionall性能高于union
2、交集(intersect)两个集合共有的集合
3、差集(minus)减去相同集合数据
1、并集:
查询部门10的办事员和部门20的经理
Select*fromempwheredeptno=10andjob=’CLERK’
Union
Select*fromempwheredeptno=20andjob=’MANAGER’
2、交集:
查询部门10和部门20中都有的工作类型
Selectjobfromempwheredeptno=10
Intersect
Selectjobfromempwheredeptno=20
3、差集:
查询部门30中有,而部门10中没有的工作类型
Selectjobfromempwheredeptno=30
Minus
Selectjobfromempwheredeptno=10
知识点二:
外连接查询的升级使用
方式一:
(+)
方式二:
leftjoinon左连接左表为驱动表
Rightjoinon右连接右表为驱动表
Fulljoinon完全连接两张表都为驱动表
selectdname,ename
fromdeptleftjoinemp
ondept.deptno=emp.deptno
selectdname,ename
fromdeptrightjoinemp
ondept.deptno=emp.deptno--连接条件
selectdname,ename
fromdeptfulljoinemp
ondept.deptno=emp.deptno--连接条件
SQL核心
知识点三:
JDBC是java中的一个组件
3-1、概念:
JDBC是一套协议,是java程序员和数据库厂商达成的协议。
即先有sun定义一套公用接口,然后由不同的数据库厂商实现这些接口,并规定了java开发人员访问数据库的使用方法和调用规范。
因此,jdbc看成是一个用于执行sql语句的JAVAAPI,它由一组用java编写的类和接口组成,可以为多种对象关系型数据库提供统一访问。
3-2、JDBCjavadatabaseconnectivity
3-3、三个核心接口,来自于java.sql包
●Connection:
实现应用程序与数据库之间的连接通道
●Statement:
向数据库发送sql语句,并将结果返回给应用程序
●ResultSet:
用于接收数据库端返回结果集合
补充点:
ODBC:
MS的数据库连接组件,windowsJDBC-ODBC架桥
下面介绍Oracel和Java的Jdbc连接,不懂的可以去小贝博客
给我留言
知识点四:
数据库的连接步骤
步骤一:
导入jar包
步骤二:
加载连接驱动,驱动类
步骤三:
创建连接对象
步骤四:
发送sql语句
步骤五:
释放资源
案例一:
步骤一:
设计数据字典
设计表
录入初始数据
步骤二:
Coding
Scannerscan=newScanner(System.in);
//控制台业务逻辑
System.out.print("请输入用户名称:
");
Stringname=scan.nextLine();
System.out.print("请输入用户密码:
");
Stringpwd=scan.nextLine();
System.out.println("您输入的信息是:
");
System.out.println("用户名称:
"+name);
System.out.println("用户密码:
"+pwd);
System.out.print("是否确定提交(Y/N)?
");
StringisCommit=scan.nextLine();
if(isCommit.toLowerCase().equals("n"))
{
return;
}
//step1:
加载连接驱动
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
//step3:
获得连接
try{
Connectioncon=DriverManager.getConnection("jdbc:
oracle:
thin:
@127.0.0.1:
1521:
orcl","xiaohong","111");
//step4:
定义发送sql命令对象
Statementstmt=con.createStatement();
StringsqlText="selectcount(*)fromuserswhereusername='"+name+"'anduserpwd='"+pwd+"'";
System.out.println(sqlText);
//step5:
执行sql命令并返回结果集
ResultSetrs=stmt.executeQuery(sqlText);
//移动结果集,指向第一行
rs.next();
//第一列
intiCount=rs.getInt
(1);
//step5:
关闭资源
rs.close();
stmt.close();
con.close();
if(iCount>0)
System.out.println("登录成功");
else
System.out.println("登录失败");
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
过三关:
第一关:
混合代码型
第二关:
封装DBconn类
第三关:
调用DBConn
JDBC的增删改查操作
封装数据库操作类DBConn类
DBConn类的应用