




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java实用技术案例教程 模块7Java数据库编程 Java实用技术案例教程 教学目标 清楚JDBC及其工作原理会与不同的数据库建立连接能够对数据库记录进行记录的增加 查询 修改 删除等操作对数据库应用程序的设计方法与实现步骤能够熟练掌握 Java实用技术案例教程 案例 案例一Java连接SQLServer数据库案例二学生信息输出管理 Java实用技术案例教程 案例一教学目标 能在不同的编程环境中进行JDBC驱动程序的注册会使用DriverManager接口对SQLServer数据库建立连接会使用Connecion接口对连接对象操作能够连接其它常用数据库 Java实用技术案例教程 工作任务 建立一个Java控制台程序 实现对SQLServer数据库的连接 进而掌握JDBC概念 Connection对象等 Java实用技术案例教程 案例实现步骤 打开NetBeans 新建一个名为jdbc的项目 在项目下新建包jdbc conn 在此包下新建一个名为ConnSqlDemo的java源文件 在任务栏单击 开始 按钮 选择 运行 命令导入JDBC驱动程序 msbase jar msutil jar mssqlserver jar在ConnSqlDemo java中写入如下代码 进行数据库的连接测试 Java实用技术案例教程 packagejdbc conn importjava sql Connection importjava sql DriverManager importjava sql SQLException publicclassConnSqlDemo publicstaticvoidmain String args try Class forName com microsoft jdbc sqlserver SQLServerDriver 注册JDBC驱动Stringurl jdbc microsoft sqlserver localhost 1433 DatabaseName javadbase javadbase为你的数据库Stringuser sa 连接SQLServer数据库的用户名 Java实用技术案例教程 代码继续 Stringpassword 720309 连接SQLServer数据库用户对应的密码Connectionconn DriverManager getConnection url user password 建立与SQL数据库的连接System out println 与数据库连接成功 catch ClassNotFoundExceptione TODOAuto generatedcatchblocke printStackTrace catch SQLExceptione TODOAuto generatedcatchblocke printStackTrace Java实用技术案例教程 程序运行结果下所示 init deps jar Compiling1sourcefiletoE jdbc build classescompile single run single 与数据库连接成功 生成成功 总时间 3秒 Java实用技术案例教程 相关理论知识 JDBC的作用和功能指定JDBC驱动程序JDBC连接数据库JDBC连接其它数据库的方法 Java实用技术案例教程 7 1 2 1JDBC的作用和功能 JDBC的概念JDBC是Sun的Javasoft子公司制定的Java数据库连接 JavaDataBaseConnectivity 技术的简称 是为各种常用数据库提供无缝连接的技术 JDBC现在可以连接的数据库包括 xbase Oracle Sybase Aceess以及Paradox等 JDBC允许Java编写的各种应用程序以相同的形式访问 查询和修改数据库 JDBC为Java程序员提供了一种在Java代码中访问关系数据库的标准方法 Java实用技术案例教程 JDBC是一个面向对象的应用程序接口 API 通过它可访问各类关系数据库 JDBC也是java核心类库的一部分 最大特点是它独立于具体的关系数据库 JDBCAPI是一个标准统一的SQL数据存取接口 其中定义的多个Java接口 可用来实现与数据库的连接 SQL语句 结果集以及其它的数据库对象 能方便地与数据库交互并处理所得的结果 Java实用技术案例教程 JDBC JDBC的组成和工作原理 Java实用技术案例教程 7 1 2 2指定JDBC驱动程序 Java实用技术案例教程 7 1 2 3JDBC连接数据库 1 注册驱动类指定数据库所需要的JDBC驱动程序 msbase jar mssqlserver jar和msutil jar 连接SQLServer时需要安装该JDBC驱动程序 对于非可视化工具 应将该三个文件存放在CLASSPATH所包含的目录中 Java实用技术案例教程 两种装载JDBC驱动程序的方式 1 显示装载 1 Class forName com microsoft jdbc sqlserver SQLServerDriver 这句代码会将SQLServer驱动程序装载到java运行环境 在系统加载JDBC驱动程序类时 将会调用DriverManager类的registerDriver 方法 该方法会生成和管理JDBC驱动程序的实例 如选用的JDBC驱动程序不存在或存放位置不在CLASSPATH所包含的目录中 会抛出ClassNotFoundException异常 须catch Java实用技术案例教程 2 直接调用DriverManager类的registerDriver 方法实现装载DriverManager registerDriver newcom microsoft jdbc sqlserver SQLServerDriver 这两种方法的作用等效 Java实用技术案例教程 2 使用连接字符串建立连接 并获得Statement对象通过DriverManager类的getConnection 方法来完成 Connectionconn DriverManager getConnection jdbc microsoft sqlserver localhost 1433 DatabaseName corperation msg sa 123 Java实用技术案例教程 参数1 URLjdbc 其中 jdbc表示使用的协议是jdbc subprotocol表示使用的JDBC驱动程序名 subname是根据子协议而确定的参数字符串 如 数据库主机名称 端口地址等 参数2 访问库所需的用户名参数3 访问库所需的用户口令 Java实用技术案例教程 3 连接对象的管理 Connection接口Connection接口负责管理Java应用程序和数据库之间的连接 一个Connection对象表示对一个特定的数据源已经建立了一条连接 它能够创建执行SQL的Statement语句对象 还能够提供数据库中的属性信息 Java实用技术案例教程 表 Connection接口的主要方法 Java实用技术案例教程 4 获得数据库元数据接口 DatabaseMetaData接口DatabaseMetaData接口管理通过Connection对象连接的数据库的属性信息 称为元数据 包括基本表描述 所支持的SQL语法 存储过程 基于连接所能进行的操作等 DatabaseMetaData对象由Connection对象的getMetaData 方法返回 Java实用技术案例教程 表 DatabaseMetaData接口主要方法 Java实用技术案例教程 例7 1连接指定数据库并获得数据库属性 importjava sql publicclassDatabaseMeta privateConnectionconn null CreatesanewinstanceofDatabaseMeta publicDatabaseMeta 构造方法 参数分别指定JDBC驱动程序 数据库URL 用户名和密码publicDatabaseMeta Stringdriver Stringurl Stringuser Stringpwd throwsClassNotFoundException SQLException Class forName driver this conn DriverManager getConnection url user pwd Java实用技术案例教程 publicStringgetDBAbout throwsSQLException 返回所连接数据库的属性信息Stringmessage DatabaseMetaDatadbmd conn getMetaData message JDBC驱动程序 dbmd getDriverName dbmd getDriverVersion r n JDBCURL dbmd getURL r n 数据库 dbmd getDatabaseProductName r n 数据库版本 dbmd getDatabaseProductVersion r n 用户名 dbmd getUserName r n returnmessage Java实用技术案例教程 publicstaticvoidmain String args Stringdriver com microsoft jdbc sqlserver SQLServerDriver Stringurl jdbc microsoft sqlserver localhost 1433 DatabaseName javatest Stringuser sa Stringpwd 720309 try DatabaseMetadm newDatabaseMeta driver url user pwd System out println dm getDBAbout catch SQLExceptionex ex printStackTrace catch ClassNotFoundExceptionex ex printStackTrace Java实用技术案例教程 7 1 2 4JDBC连接其它数据库的方法 Informix数据库MySQL数据库PostgreSQL数据库Sybase数据库DB2数据库 Java实用技术案例教程 7 1 3实训 1 依照实践步骤完成案例 40分钟 1 NetBeans环境变量的配置 10分钟 2 新建Java类 5分钟 3 填充类 20分钟 4 运行调试程序 5分钟 2 练习并掌握几种常用数据库的连接 3 建立student数据库 使用DatabaseMetaData接口获取数据库的属性信息并显示 Java实用技术案例教程 案例二教学目标 会使用Statement接口对SQL语句管理对象操作会使用ResultSet接口对结果集对象管理会使用PreparedStatement接口 Java实用技术案例教程 工作任务 在NetBeans下建立数据库项目 实现对公司员工信息查询 Java实用技术案例教程 案例实现步骤 在SQLServer下建立员工信息数据库 本例数据库名为javadbase 并建立员工信息表employeeinfo 打开NetBeans 在案例一中所建的包jdbc conn下新建一个名为Query的java源文件 在Query java中写入如教材所示代码 进行人员信息查询测试 Java实用技术案例教程 案例运行效果如下 当运行该程序时 首先弹出输入查询人员姓名对话框 输入查询人员姓名 单击 确定 按钮 如图所示 Java实用技术案例教程 显示查询的结果 如果查到了 显示如左图所示 如果查不到 显示如右图所示 Java实用技术案例教程 相关理论知识 执行SQL语句处理数据查询结果集 ResultSet接口 Java实用技术案例教程 7 2 2 1执行SQL语句 1 Statement接口Statement接口用于管理和执行SQL语句 其对象由一个Connection对象调用createStatement 方法创建 通过Statement对象 能够执行名种SQL语句 包括数据定义 数据更新和数据查询语句 Java实用技术案例教程 表 Statement接口主要方法 Java实用技术案例教程 例7 2Statement接口的使用 importjava sql Connection importjava sql DriverManager importjava sql Statement importjava sql ResultSet importjava sql ResultSetMetaData importjava sql SQLException publicclassConnSqlDemo publicstaticvoidmain String args try Connectionconn null Class forName com microsoft jdbc sqlserver SQLServerDriver 指定JDBC驱动程序类型Stringurl jdbc microsoft sqlserver localhost 1433 DatabaseName javadbase Stringuser sa Stringpassword 720309 conn DriverManager getConnection url user password 建立与SQL数据库的连接Stringquery select fromstudentinfo Statementst Java实用技术案例教程 conn createStatement ResultSet TYPE SCROLL SENSITIVE ResultSet CONCUR UPDATABLE 生成可滚动且不受其他更新影响的 可更新的结果集 ResultSetrs st executeQuery query ResultSetMetaDatarsData rs getMetaData getMetaData 检索此ResultSet对象的列的编号 类型和属性 intcolumnCount rsData getColumnCount for inti 1 i columnCount i System out print 第 i 列 rsData getColumnName i System out println 数据类型 rsData getColumnTypeName i rs first 将指针移动到此ResultSet对象的第一行System out println 第一行 rs getString 1 rs getString 2 rs last System out println 最后一行 rs getString 1 rs getString 2 rs absolute 3 rs updateString 2 18 用String值更新指定列 更新方法用于更新当前行或插入行中的列值 并不会更新底层数据库rs updateRow 用此ResultSet对象的当前行的新内容更新底层数据库 Java实用技术案例教程 System out println 第三行 rs getString 1 rs getString 2 rs absolute 4 rs updateString 2 16 System out println 第四行 rs getString 1 rs getString 2 rs updateRow st close conn close catch ClassNotFoundExceptione e printStackTrace catch SQLExceptione e printStackTrace Java实用技术案例教程 2 PreparedStatement接口 PreparedStatement接口表示预编译的SQL语句对象 SQL语句被预编译并且存储在PreparedStatement对象中 然后可以使用此对象高效地多次执行该语句 而Statement对象的SQL语句 每一次执行时服务器都必须做一次语法分析 一个PreparedStatement对象是由Connection接口调用prepareStatement 方法返回的 Java实用技术案例教程 在SQL语句中可以有占位符问号 用于运行时的参数值 这些问号标明变量的位置 然后通过PreparedStatement接口的setXXX 方法为占位符提供数值 这些方法说明涉及占位符的位置自变量和数值自变量 占位符从左到右的次序被索引 最左面的占位符位置索引为1 如下代码 Java实用技术案例教程 代码 Stringsql select frompeoplepwherep id andp name Preparedstatementps conn prepareStatement sql ps setInt 1 20071001 ps setString 2 王楠 Java实用技术案例教程 表 PreparedStatement接口主要方法 Java实用技术案例教程 Java实用技术案例教程 7 2 2 2处理数据查询结果集 ResultSet接口 ResultSet接口存储结果集当前行intgetRow throwsSQLException 获得当前行位置booleannext throwsSQLException 设置当前行的后一行成为新的当前行获得当前行指定列的数据项值ObjectgetObject intcolumnIndex throwsSQLException ObjectgetObject Stringcol
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025建筑材料合作合同
- 2025租房合同样本
- 培训购买服务合同范本
- 房屋出售合同范本 简易
- 购买种鸽定金合同范本
- 教育机构招聘合同范本
- 项目资金借贷合同范本
- 2025年北京市房屋租赁合同(直接交易版)
- 住宅防水协议合同范本
- 2025餐饮供应合同模板「参考」
- JJF(新) 146-2024 可燃气体和有毒气体检测报警控制系统校准规范
- 电焊工安全用电培训
- 安宁疗护服务规范
- 《高血压的护理常规》课件
- 2025年广西广投智能科技有限公司招聘笔试参考题库含答案解析
- 《细胞信号与分子通路》课件
- 妇产科护理技能实训 课件 2.2.2产前会阴清洁与消毒
- 《更年期的中医调理》课件
- 2025年内蒙古自治区体育局招聘12人历年管理单位笔试遴选500模拟题附带答案详解
- 重庆潼南2024年面向社会招聘教育系统人员历年管理单位遴选500模拟题附带答案详解
- 《建筑设计防火规范》课件
评论
0/150
提交评论