- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
目标了解预制语句的原理掌握预制语句的使用理解JDBC中事务的处理掌握JavaBean的创建
概述封装数据库访问连接工厂类JavaBean类高级数据库访问预制语句元数据事务
预置语句PreparedStatement接口继承自Statement编译一次可重复执行的语句接口在sql语句中通过使用占位符来代替常量字段值,setXXX方法来填充字段值,取代掉占位符,形成完整的可执行的sql语句
预置语句创建预置语句对象,在sql语句中使用占位符StringSQL=insertintodept(deptno,dname)values(?,?);PreparedStatementps=con.prepareStatement(SQL);
预置语句使用setXXX()方法为参数赋值用executeUpdate()方法执行SQL语句ps.setInt(1,60);ps.setString(2,客服部);ps.executeUpdate();
预置语句示例:使用预置语句插入数据Stringsql=insertintoemp(empno,ename,hiredate)values(?,?,?);PreparedStatementpstmt=con.prepareStatement(sql);pstmt.setInt(1,2234);pstmt.setString(2,张三);pstmt.setDate(3,Date.valueOf(2004-3-3));pstmt.executeUpdate();System.out.println(行已添加);
元数据元数据是描述一个RDBMS提供何种功能和数据库中数据类型的数据(数据字典)JDBC提供了两个元数据接口:DatabaseMetaData数据库元数据ResultSetMetaData结果集元数据
元数据DatabaseMetaData对象提供关于数据库的信息:数据库与用户、数据库标识符以及函数与存储过程数据库支持与不支持的功能数据库限制,如数据库中名称的最大长度架构、编目、表和列
元数据ResultSetMetaData对象可以获得关于结果集对象的元数据信息:结果集中列的名称、类型、是NULL还是NOTNULL、精度等信息获取ResultSetMetaData对象:ResultSetrs=stmt.executeQuery(sql);ResultSetMetaDatarsmd=rs.getMetaData();
元数据读取结果集元数据的方法方法名描述getColumnCount()返回结果集中的列数getColumnName(intn)返回n指定的位置上的列的名称getColumnType(intn)返回指定列的类型(用整数表示)getColumnTypeName(intn)返回指定列的类型名称(用字符串表示)isNullable(intn)如果列被定义为NOTNULL,那么返回0;否则返回1
元数据查看emp表的字段名和字段类型Stringsql=select*fromemp;PreparedStatementpstmt=con.prepareStatement(sql);ResultSetrs=pstmt.executeQuery();ResultSetMetaDatarsmd=rs.getMetaData();intcount=rsmd.getColumnCount();for(inti=1;i=count;i++){ System.out.print(rsmd.getColumnName(i)+ (+rsmd.getColumnTypeName(i)+)\t);}
事务事务的主要用途:把数据库从一个一致状态带到下一个一致状态事务具备的属性:原子性、一致性、隔离性、耐久性
控制事务的主要语句:提交、回退
事务JDBC通过Connection对象的setAutocommit(boolean)方法决定是否启用自动提交当自动提交模式被设置成false时,事务管理必须由代码来明确控制调用连接对象的commit()方法和rollback()方法来提交和回退事务
事务利用事务完成两条记录的插入
try{……con=DriverManager.getConnection(url,scott,tiger);con.setAutoCommit(false);Stringsql=insertintoemp(empno,ename,hiredate)values(?,?,?);
您可能关注的文档
- 《外国文学作品导论》课件_24第八章 20世纪文学(上)第五节 泰戈尔《吉檀迦利》.pptx
- 《外国文学作品导论》课件_18第七章 19世纪文学(下)第三节 易卜生《玩偶之家》.pptx
- 《外国文学作品导论》课件_25第八章 20世纪文学(上)第六节 川端康成《雪国》.pptx
- 《外国文学作品导论》课件_21第八章 20世纪文学(上)第二节 艾略特《荒原》.pptx
- 《网页设计与制作(HTML+CSS+JavaScript)》课件_CORE-04.ppt
- 《微信小程序项目实战》课件_CORE06.pptx
- 《数据库应用基础——SQL Server 》课件_CORE-03.ppt
- 《网页设计与制作(HTML+CSS+JavaScript)》课件_CORE-11.ppt
- 《物流英语》课件_11 global.ppt
- 《网页设计与制作(HTML+CSS+JavaScript)》课件_CORE-09.ppt
- 2024-2025学年安徽省亳州市涡阳县高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年江西省赣州市上犹县高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山西省卓越联盟高三下学期2月开学质量检测政治试题(解析版).docx
- 2024-2025学年新疆乌鲁木齐市高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年新疆维吾尔自治区乌鲁木齐地区高三2月大联考文科综合政治试题(解析版).docx
- 2024-2025学年安徽省蚌埠市固镇县高一上学期1月期末考试政治试题 (解析版).docx
- 2024-2025学年江苏省扬州市高三上学期期末检测政治试卷(解析版).docx
- 2024-2025学年江西省吉安市高三上学期期末教学质量检测政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二上学期1月期末考试政治试题(解析版).docx
文档评论(0)