版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chapter1实训项目相关知识点:JDBCChapter2回顾与作业点评Collection、List、Set、Map接口的联系和区别有哪些?ArrayList和LinkedList有什么异同之处?有哪些遍历集合的方法?为什么要引入泛型集合?Chapter3预习检查JDBC的英文全称是什么?JDBC的主要作用是什么?PreparedStatement与Statement相比,具有什么优势?Chapter4本章任务使用JDBC实现宠物信息的增删改查使用JDBC实现宠物主人信息的查询使用JDBC实现宠物主人登录Chapter5本章目标理解JDBC原理掌握Connection接口的使用掌握Statement接口的使用掌握ResultSet接口的使用掌握PreparedStatement接口的使用Chapter6JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力Java应用程序JDBCJDBCJSP/Servlet客户端数据库服务器应用服务器数据库服务器客户端为什么需要JDBCChapter7JDBCAPI提供者:Sun公司内容:供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:DriverManager类Connection接口Statement接口ResultSet接口DriverManager提供者:Sun公司作用:管理各种不同的JDBC驱动JDBC驱动提供者:数据库厂商作用:负责连接各种不同的数据库SqlServerOracleJDBCAPIJDBCDriverManagerJDBC驱动JDBC驱动Java应用程序JDBC程序的工作原理Chapter8JDBCAPI可做三件事:与数据库建立连接、执行SQL语句、处理结果DriverManager:依据数据库的不同,管理JDBC驱动Connection:负责连接数据库并担任传送数据的任务Statement:由Connection产生、负责执行SQL语句ResultSet:负责保存Statement执行后所产生的查询结果ConnectionDriverManagerStatementResultSet客户端数据库服务器1234JDBCAPIChapter9try{Class.forName(JDBC驱动类);}catch(ClassNotFoundExceptione){System.out.println("无法找到驱动类");}try{Connectioncon=DriverManager.getConnection(JDBCURL,数据库用户名,密码);
Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery("SELECTa,b,cFROMTable1");
while(rs.next()){intx=rs.getInt("a");Strings=rs.getString("b");floatf=rs.getFloat("c");}con.close();}catch(SQLExceptione){e.printStackTrace();}与数据库建立连接
发送SQL语句,并得到返回结果
处理返回结果
加载JDBC驱动
JDBCURL用来标识数据库释放资源JDBC工作模板Chapter10JDBC驱动由数据库厂商提供在个人开发与测试中,可以使用JDBC-ODBC桥连方式在生产型开发中,推荐使用纯Java驱动方式DBServerDBServerJDBCAPIJDBCDriverManager纯Java驱动JDBC–ODBC桥Java应用程序ODBCJDBC驱动5-1Chapter11使用JDBC-ODBC桥方式连接数据库将对JDBCAPI的调用,转换为对另一组数据库连接API的调用优点:可以访问所有ODBC可以访问的数据库缺点:执行效率低、功能不够强大JDBC-ODBC桥Java应用程序JDBCAPIODBCAPIODBC层DBServerJDBC驱动5-2Chapter12使用JDBC-ODBC进行桥连配置数据源:控制面板ODBC数据源系统DSN编程JDBC驱动5-3…Connectionconn=null;try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){ logger.error(e);}try{
conn=DriverManager.getConnection("jdbc:odbc:ConnSQLServer", "jbit","bdqn"); System.out.println("建立连接成功!");}catch(SQLExceptione){ logger.error(e);}finally{ try{
conn.close();
}catch(SQLExceptione){ logger.error(e); }}关闭连接建立连接加载驱动必须进行相关异常处理Chapter13使用纯Java方式连接数据库由JDBC驱动直接访问数据库优点:100%Java,快又可跨平台缺点:访问不同的数据库需要下载专用的JDBC驱动JDBC
驱动Java应用程序JDBCAPIDBServerJDBC驱动5-4Chapter14JDBC驱动5-5…Connectionconn=null;try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(ClassNotFoundExceptione){ logger.error(e);}try{
conn=DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;DatabaseName=epet","jbit","bdqn"); System.out.println("建立连接成功!");}catch(SQLExceptione){ logger.error(e);}finally{ try{
conn.close(); }catch(SQLExceptione){ logger.error(e); }}关闭连接建立连接加载驱动必须进行相关异常处理演示示例:使用纯Java方式连接数据库Chapter15练习——使用纯Java方式连接数据库需求说明:数据库为SQLServer2008数据库名“epet”,用户名“jbit”,密码“bdqn”使用纯Java方式连接该数据库如果连接成功,输出“建立连接成功!”,否则输出“建立连接失败!”进行相关异常处理完成时间:20分钟Chapter16JDBC应用对宠物和主人信息进行管理:宠物和主人信息存储在SQLServer2008中通过JDBC对宠物和主人进行增、删、改、查字段名字段说明字段类型其他id序号int主键、自增name昵称varchar(12)health健康值intlove亲密度intstrain品种varchar(20)字段名字段说明字段类型其他id序号int主键、自增name姓名varchar(12)password密码varchar(20)money元宝数intChapter17使用Statement添加宠物…Connectionconn=null;Statementstmt=null;…//建立连接conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=epet","jbit","bdqn");//插入狗狗信息到数据库stmt=conn.createStatement();StringBuffersbSql=newStringBuffer( "insertintodog(name,health,love,strain)values('");sbSql.append(name+"',");sbSql.append(health+",");sbSql.append(love+",'");sbSql.append(strain+"')");stmt.execute(sbSql.toString());…stmt.close();conn.close();执行SQL语句获取Statement对象关闭Statement对象声明Statement变量演示示例:使用Statement添加宠物Chapter18使用Statement更新宠物Connectionconn=null;Statementstmt=null;…//建立连接conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=epet","jbit","bdqn");//更新狗狗信息到数据库stmt=conn.createStatement();stmt.executeUpdate("updatedogsethealth=80,love=15whereid=1");…stmt.close();conn.close();执行SQL语句获取Statement对象关闭Statement对象声明Statement变量演示示例:使用Statement更新宠物Chapter19使用Statement和ResultSet查询宠物Connectionconn=null;Statementstmt=null;ResultSetrs=null;…conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=epet","jbit","bdqn");//查询并输出狗狗信息stmt=conn.createStatement();rs=stmt.executeQuery("select*fromdog");System.out.println("\t\t狗狗信息列表\n编号\t姓名\t健康值\t亲密度\t品种");while(
rs.next()
){ System.out.print(
rs.getInt(1)
+"\t"); System.out.print(
rs.getString(2)
+"\t"); System.out.print(rs.getInt("health")+"\t"); System.out.print(rs.getInt("love")+"\t"); System.out.println(rs.getString("strain"));}…rs.close();stmt.close();conn.close();执行SQL语句进行查询,结果赋给结果集变量rs注意关闭顺序遍历结果集,输出所有狗狗信息将光标向下移动一行可使用列号或列名标识列ResultSet可以理解一个二维表,每行代表一条记录,每列代表一个字段。并且存在一个光标,光标所指行为当前行
演示示例:使用Statement和ResultSet查询宠物Chapter20Statement常用方法方法名说明ResultSetexecuteQuery(Stringsql)执行SQL查询并获取到ResultSet对象intexecuteUpdate(Stringsql)可以执行插入、删除、更新等操作,返回值是执行该操作所影响的行数booleanexecute(Stringsql)可以执行任意SQL语句,然后获得一个布尔值,表示是否返回ResultSetChapter21ResultSet常用方法方法名说明booleannext()将光标从当前位置向下移动一行booleanprevious()游标从当前位置向上移动一行voidclose()关闭ResultSet对象intgetInt(intcolIndex)以int形式获取结果集当前行指定列号值intgetInt(StringcolLabel)以int形式获取结果集当前行指定列名值floatgetFloat(intcolIndex)以float形式获取结果集当前行指定列号值floatgetFloat(StringcolLabel)以float形式获取结果集当前行指定列名值StringgetString(intcolIndex)以String形式获取结果集当前行指定列号值StringgetString(StringcolLabel)以String形式获取结果集当前行指定列名值Chapter22讲解需求说明指导——查询所有宠物主人信息训练要点:Statement接口ResultSet接口需求说明:使用JDBC查询数据表master中所有宠物主人信息并输出实现思路:调用executeQuery(Stringsql)查询主人信息通过next()和getXxx()方法遍历结果集并输出难点指导:遍历结果集完成时间:20分钟Chapter23为什么要使用PreparedStatement使用JDBC完成主人登录验证功能Connectionconn=null;Statementstmt=null;ResultSetrs=null;…//建立连接conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=epet","jbit","bdqn");//判断宠物主人登录是否成功stmt=conn.createStatement();Stringsql="select*frommasterwherename='"+name+ "'andpassword='"+password+"'";System.out.println(sql);rs=stmt.executeQuery(sql);if(rs.next()) System.out.println("登录成功,欢迎您!");else System.out.println("登录失败,请重新输入!");…stmt.close();conn.close();演示示例:实现主人登录验证Chapter24PreparedStatement接口(预编译的SQL语句)Statement接口提高了代码的可读性和可维护性
PreparedStatement接口继承Statement接口PreparedStatement比普通的Statement对象使用起来更加灵活,更有效率PreparedStatement提高了SQL语句执行的性能
提高了安全性Chapter25使用PreparedStatement更新宠物Connectionconn=null;P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业管理资料合同期满解除劳动合同文档范本
- 2025涵洞砌体施工合同
- 辩论技巧与学生思维表达的融合
- 血液病定期检查的重要性与早期发现策略
- 2024年免疫分析仪器及试剂项目项目投资申请报告代可行性研究报告
- 个人食堂承包合同2025年度版:食品安全与营养健康服务协议3篇
- 2025年统编版2024高一语文上册阶段测试试卷含答案
- 2025年新世纪版必修二历史上册阶段测试试卷
- 2025年冀少新版八年级历史下册月考试卷含答案
- 2025年沪教版九年级历史上册月考试卷
- 吉林省吉林市普通中学2024-2025学年高三上学期二模试题 生物 含答案
- 《电影之创战纪》课件
- 社区医疗抗菌药物分级管理方案
- 开题报告-铸牢中华民族共同体意识的学校教育研究
- 《医院标识牌规划设计方案》
- 公司2025年会暨员工团队颁奖盛典携手同行共创未来模板
- 新沪科版八年级物理第三章光的世界各个章节测试试题(含答案)
- 夜市运营投标方案(技术方案)
- 电接点 水位计工作原理及故障处理
- 国家职业大典
- 2024版房产代持协议书样本
评论
0/150
提交评论