版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JDBC基本操作 JavaWeb开发技术重难点讲解 2 / 18 知识梳理知识梳理 u JDBC概念 u 通过JDBC连接数据库 u 使用JDBC操作数据库-增删改查 u 使用配置文件保存数据库信息 u 数据源、连接池、连接 演示:演示:重难点:重难点:JDBC基本操作基本操作-结构图结构图 3 / 18 目录目录 u JDBC概念 u 通过JDBC连接数据库 u 使用JDBC操作数据库-增删改查 u 使用配置文件保存数据库信息 u 数据源、连接池、连接 u 总结 u 下次串讲内容 4 / 18 数据持久化 知识点1:数据持久化 l持久化(persistence):把数据保存到可掉电式存储设备
2、中以供之后 使用,也称为“固化”。在大多数情况下,服务器或客户端应用 中数据的持久化是通过关系型数据库来实现 l存储设备:磁盘、硬盘, U盘,光盘等 l存储形式:数据库、xml文件、txt文件等 数据 XML文件 其它存储形式 为什么用数据库持久化数据? 5 / 18 数据持久化 知识点2: Java 中的数据存储技术 l在Java中,数据库存取技术可分为如下几类: JDBC直接访问数据库 第三方O/R工具,如Hibernate, ibatis 等 lJDBC是java访问数据库的基石,其他技术都是对jdbc的封装 学好JDBC是王道! 6 / 18 JDBCJDBC简介简介 JDBC全称为:
3、Java Data Base Connectivity(java数据库 连接),它主要由接口组成。 组成JDBC的个包: java.sql javax.sql 以上2个包已经包含在J2SE中,所以不用导入,开发这只 需要导入JDBC的实现类即数据库驱动包。 开发JDBC应用需要以上2个包的支持外,还需要导入相应 JDBC的数据库实现(即数据库驱动)。 7 / 18 JDBC概念概念 u JDBC API u JDBC(Java Database Connectivity)是一个独立于 特定数据库管理系统、通用的操作数据库的 Interface(一组API),定义了用来访问数据库的标 准Java
4、类库,而接口的实现有各个数据库厂商来完 成 u 实现Java程序对各种数据库的访问 u 一组接口和类,位于java.sql与javax.sql包 u 面向接口编程 u 学习方法学习方法 u JDBC步骤固定,理解记忆 u 多练习,加深理解 u 面向接口编程 8 / 18 JDBC APIJDBC API DriverManager ConnectionConnectionConnection Statement PreparedStatementCallableStatement ResultSetResultSet ResultSet 知识点6: JDBC API接口介绍 9 / 18 通过
5、通过JDBC连接数据库连接数据库 u 操作步骤 u Class.forName(String)加载驱动 u 获得数据库连接 (Connection) u 创建Statement或PreparedStatement对象、执行sql语 句 u 返回并处理执行结果(若查询操作,返回ResultSet) u 释放资源 u Class.forName(String) u Java反射机制 u 桥接(后加载) u portal网站的组态方式 10 / 18 第一个第一个JDBCJDBC程序程序 l编写一个程序,这个程序从编写一个程序,这个程序从user表中读取数据,并打印在命令表中读取数据,并打印在命令
6、行窗口中。行窗口中。 一、搭建实验环境一、搭建实验环境 : 1、在、在mysql中创建一个库,并创建中创建一个库,并创建user表和插入表的数据。表和插入表的数据。 2、新建一个、新建一个Java工程,并导入数据驱动。工程,并导入数据驱动。 二、编写程序,在程序中加载数据库驱动二、编写程序,在程序中加载数据库驱动 DriverManager. registerDriver(Driver driver) 三、建立连接三、建立连接(Connection) Connection conn = DriverManager.getConnection(url,user,pass); 四、创建用于向数据库
7、发送四、创建用于向数据库发送SQL的的Statement对象,并发送对象,并发送sql Statement st = conn.createStatement(); ResultSet rs = st.excuteQuery(sql); 五、从代表结果集的五、从代表结果集的ResultSet中取出数据,打印到命令行窗口中取出数据,打印到命令行窗口 六、断开与数据库的连接,并释放相关资源六、断开与数据库的连接,并释放相关资源 11 / 18 通过通过JDBC连接数据库连接数据库 12 / 18 程序详解程序详解DriverManagerDriverManager Jdbc程序中的DriverMa
8、nager用于加载驱动,并创建与数据库的链接, 这个API的常用方法: DriverManager.registerDriver(new Driver() DriverManager.getConnection(url, user, password), 注意:注意:在实际开发中并不推荐采用registerDriver方法注册驱动。原因有二: 一、查看Driver的源代码可以看到,如果采用此种方式,会导致驱动程序注册两 次,也就是在内存中会有两个Driver对象。 二、程序依赖mysql的api,脱离mysql的jar包,程序将无法编译,将来程序切换 底层数据库将会非常麻烦。 推荐方式:推荐方
9、式:Class.forName(“com.mysql.jdbc.Driver”); 采用此种方式不会导致驱动对象在内存中重复出现,并且采用此种方式,程序仅 仅只需要一个字符串,不需要依赖具体的驱动,使程序的灵活性更高。 同样,在开发中也不建议采用具体的驱动类型指向getConnection方法 返回的connection对象。 13 / 18 TipTip:数据库:数据库URLURL URL用于标识数据库的位置,程序员通过URL地址告诉 JDBC程序连接哪个数据库,URL的写法为: jdbc:mysql:/localhost:3306/test ?参数名:参数值 协议协议子协议子协议主机:端口
10、主机:端口数据库数据库 常用数据库URL地址的写法: OracleOracle写法:写法: jdbc:oracle:thin:localhost:1521:sidjdbc:oracle:thin:localhost:1521:sid SqlServerSqlServer jdbc:microsoft:sqlserver:/localhost:1jdbc:microsoft:sqlserver:/localhost:1 433; DatabaseName=sid433; DatabaseName=sid MySqljdbc:mysql:/localhost:3306/sidMySqljdbc:m
11、ysql:/localhost:3306/sid Mysql的url地址的简写形式: jdbc:mysql:/sidjdbc:mysql:/sid 常用属性: useUnicode=true u PrepareStatement pstm = connection.prepareStatement(sql); u SQL语句使用“?”作为数据占位符 u 使用setXxx()方法设置数据 u PreparedStatement预编译 u 效率、性能、开销 u 安全性 u 代码可读性 15 / 18 使用配置文件保存数据库信息使用配置文件保存数据库信息 u 配置文件Properties(key-v
12、alue) u 读取配置文件:properties.load(inputstream) u 根据key值获取value:properties.getProperty(key) u 单例模式:运行期间有且仅有一个实例运行期间有且仅有一个实例 u 一个类只有一个实例-最基本的-(只提供私有的构造器) u 它必须自行创建这个实例-(定义了静态的该类的私有对象) u 它必须自行向整个系统提供这个实例-(提供一个静态的公有的方法,返回创建或 者获取本身的静态私有对象) u 懒汉模式(线程不安全、lazy loading) u 饿汉模式(线程安全) 完成时间:完成时间:10分钟分钟 共性问题集中讲解共性问
13、题集中讲解 演示示例演示示例 :单例:单例饿汉模式饿汉模式 16 / 18 使用使用JDBC操作数据库操作数据库-增删改查增删改查 u 分层架构、面向接口编程 u 接口与实现分离的设计思想松耦合 u 面向接口编程: u 仅能看到接口,仅能使用接口提供的开放方法封装 u 同样的接口,同样的方法,做不同的事情多态 完成时间:完成时间:10分钟分钟 共性问题集中讲解共性问题集中讲解 演示示例演示示例 :使用:使用JDBC增删改查新闻评论表增删改查新闻评论表 17 / 18 数据源、连接池、连接数据源、连接池、连接 u数据源、连接池、连接 u连接对象一直保持与数据库连接 u连接池里放着连接对象,并管理连接对象 u数据源DataSource用来连接数据库,获取连接对象 uJNDI u在程序中使用JNDI获取数据源,从而获取到连接对象 u程序-JNDI- DataSource-getConnection- 连接 -执行sql 18 / 18 总结总结 u JDBCJDBC u 知识扩充知识扩充 u 学习方法学习方法 19 / 18 下次重难点讲解内容下次重难点讲解内容 u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年亲子阅读陪伴质量提升与阅读技巧指导
- 2026年算电协同新基建工程:算力与电力深度融合国家战略部署解读
- 2026年海上油气作业区周边资源协同勘探方案
- 社区护理中的健康社区干预
- 老年人护理中的沟通技巧与艺术
- 泌尿外科患者的疼痛评估与控制
- 神经外科症状护理评估方法
- 2026年高校教师教学发展培训项目申报与课程体系设计
- 2026年大力推进战略性重组整合:从“规模扩张”到“专业化整合”转型
- 糖分摄入危害与代糖产品选择
- 2025年贵州省高考物理试卷真题(含答案)
- 2026贵州省气象部门第二批公开招聘应届毕业生22人笔试备考试题及答案解析
- 山西出版传媒集团招聘笔试题库2026
- 学习《水利水电工程生产安全重大事故隐患判定导则-SLT 842》课件
- Unit15Itsamysterytome!(课件)新概念英语青少版2A
- 【MOOC】市场调查与研究-南京邮电大学 中国大学慕课MOOC答案
- 插画教学课件教学课件
- DB23T 3834-2024 安全生产培训机构管理指南
- 【教材】高二校本课程-趣味化学
- 倍择瑞附有答案
- 教练技术第一阶段感恩课催眠话术
评论
0/150
提交评论