JDBC知识总结
来源:互联网 发布:科比乔丹数据对比国外 编辑:程序博客网 时间:2024/06/08 18:36
关系
UI—-jdbc—数据库
数据库–jdbc–显示UI界面
制定统一操作关系数据库的标准。
ODBC –采用统一的方式操作不同关系的数据库 用c语言编写
Microsift提出的数据库访问接口标准
JDBC –采用统一的方式操作不同的关系数据库 用java语言编写
由sun公司提供的
JDBC Api分两部分
1、提供给开发者的一组 独立于数据库的API
对数据库的操作都可以用这组API进行,是
一个标准,由sun公司提供。java.sql包中。
那么要把这些通用API翻译成特定数据库能懂得指令
就需要JDBC Driver来实现了
2、提供给面向JDBC驱动程序开发商的编程接口
他会把我们通过JDBC api发给数据库的通用指令翻译给自己的
数据库,由数据库厂商提供驱动,必须实现java.sql.Driver接口
是具体的实现
JDBC的四种类型
a、JDBC-ODBC驱动
把java语言转c语言 效率很低;
b、部分java实现的本地驱动
把java语言转c语言 线路低 必须安装客户端
c、纯java实现的网络驱动
使用数据库的特殊协议
d、纯java实现的本地驱动
采用TCP/IP协议进行通信
Oracle只支持2,4驱动现在采用第四种thin驱动Driver驱动 oracle.jdbc.driver.OracleDriverurl jdbc:oracle:thin:@localhost:1521:XE工作原理流程装载驱动程序---->获得数据库连接--->使用statement执行sql语句返回执行的结果---->关闭相关连接url标识一个唯一的数据库可以安装一个数据库 配置很多个数据库系统url由数据库厂商提供
JDBC编程步骤
statement版
//反射 加载驱动类
Class.forName(driverName);
//建立连接
Connection conn = DriverManager.getConnection(url,user,passwd);
//创建发送sql语句的对象
Statement st = conn.createStatement();
//创建sql语句
String sql = ” ……”;
//执行sql语句
execute(sql):执行任何sql语句,返回boolean 代表是否有结果集
executeQuery(sql)执行sql查询语句 返回结果集
executeUpdate(sql) 执行DMLsql语句 返回受影响行数
适合insert update delete
//接收结果集
ResultSet rs = st.executeQuary(sql);
//遍历结果集
while(rs.next){
String str = rs.getString(“字段名/下标”)
int str = rs.getint(“字段名/下标”)
}
PrepareStatement//创建sql语句String sql = "insert into s_people values (?,?,?,?)";//预处理PrepareStatement pst = conn.prepareStatement(sql);//再传入值pst.execute()/pst.executeQuery();批处理版//设置commit为手动conn.setAutoCommit(false);//设置把命令存入缓存pst.addBatch();//执行缓存中的命令pst.executeBatch();//执行commitconn.commit();//遇到exception回滚conn.rollback();
statement和preparestatement
statement
a、执行异构sql语句效率更高
b、创建对象和执行sql语句
createStatement();
c、动态sql语句使用字符串拼接的方式
d、不会进行预编译
prepareStatement
a、执行同构的sql语句效率更高
b、创建对象和执行sql语句
c、动态sql语句使用?
d、会进行预先编译传入的是字符串
CallableStatement 执行sql/pl语句prepareStatement能识别 a' or 1='1 此类sql漏洞
关闭资源 先开后关 后开先关
面向对象编程和关系型数据库映射的对应关系
表———类
字段——-属性
一行数据—对象
外键——-has a
双向关联 单项关联
private 类名 对象
private set<类名> 对象名
- jdbc知识总结
- JDBC知识总结
- Oracle&JDBC&Hibernate知识总结
- JDBC,MySql相关知识总结
- jdbc知识回顾和总结
- JDBC的一些知识的总结
- JavaWeb数据库开发知识总结(jdbc基础)
- JavaWeb数据库开发知识总结(jdbc进阶)
- JDBC知识
- JDBC知识
- JDBC知识
- JDBC的相关知识
- JDBC的相关知识
- 数据库知识(JDBC)
- JDBC相关知识
- JDBC入门知识
- JDBC的一些知识
- jdbc小知识
- stop appium server
- 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 J. Our Journey of Dalian Ends [网络流]
- 2017 ACM-ICPC 亚洲区乌鲁木齐赛网络赛 E. Half-consecutive Numbers
- Java中byte类型转型为int类型为什么要作&0xff
- QQ第三方登录
- JDBC知识总结
- Java小结
- 临时表Lookup数据源
- JDK的命令行工具
- java编程规范,编写良好的java程序
- 九度[1091]-棋盘游戏
- 求取离散点的曲率
- 用封装实现两个数相加结果实现
- Glide v4 用法