已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JDBC JDBC API中的关键类和接口 数据库操作步骤,第十章 数据库编程,JDBC, Java Database Connectivity,是Java中用来访问数据库的一组API, JDBC的编程接口分成两部分:面向应用程序的编程接口 JDBC API;支持底层开发的驱动程序接口,JDBC Driver API,主要提供给数据库厂商开发JDBC驱动程序,Java应用程序,JDBC驱动程序管理器,JDBC API,JDBC/ODBC桥,厂商提供 的JDBC 驱动程序,ODBC驱动程序,数据库,JDBC Driver API,数据库,JDBC和ODBC都基于同一个思想: 根据API编写的程序都可以与驱动 程序管理器进行通信,而驱动程序 管理器则通过插入其中的驱动程序 与实际数据库进行通信,JDBC API中关键类和接口, 包, java.sql javax.sql(jdk1.4补充), java.sql.Driver接口 该接口的实现类是某种数据库的驱动程序类,用来初始化驱动程序,如果需要连接sql server 2000数据库,则使用其提供的jdbc driver 如果要连接其他数据库,则相应修改setProperty第二个参数,Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); System.setProperty(“jdbc.drivers“, “com.microsoft.jdbc.sqlserver.SQLServerDriver“);, java.sql.DriverManager类,管理一组JDBC驱动程序,根据需要使用驱动程序连接数据库,static Connection getConnection(String url,String user,String password) throws SQLException / 取得数据库连接,JDBC API中关键类和接口,/连接sql server 2000 String url=“jdbc:microsoft:sqlserver:/localhost:1433; databasename=addressbookdatabase”; /表示数据源是本机的sql server中的数据库addressbookdatabase Connection conn=DriverManger.getConnection(url, “sa”,”buct105”); /连接mysql conn=DriverManager.getConnection(“jdbc:mysql:/localhost/java“, “root“,“buct105“);, java.sql.Connection接口, 表示一个数据库连接,Statement createStatement( ) throws SQLException /创建一个Statement对象,void close( ) /关闭数据库连接,释放资源,JDBC API中关键类和接口, java.sql.Statement接口,向数据库服务器发送SQL语句,ResultSet executeQuery(String sql ) throws SQLException /将一个查询语句发送给数据库服务器,查询结果保存在ResultSet对象中,int executeUpdate(String sql ) throws SQLException /执行delete,update和insert语句,建库,建表语句,返回受影响的记录数目,JDBC API中关键类和接口,void close( ) /关闭Statement对象以及它所对应的结果集, java.sql.ResultSet接口, 保存查询结果,int getRow( ) throws SQLException /取得当前记录号,记录编号从1开始,/指针移动 boolean next( ) throws SQLException /将记录指针移到下一条记录处,成功返回true boolean previous( ) throws SQLException /将记录指针移到前一条记录处,成功返回true boolean first( ) throws SQLException boolean last( ) throws SQLException boolean absolute( int row) throws SQLException,JDBC API中关键类和接口,/读取当前记录的各字段值 String getString(String columnName ) throws SQLException /读取当前记录中指定字段名的值,该值以字符串方式返回 String getString(int columnIndex ) throws SQLException /读取当前记录中指定索引号字段的值,返回字符串,索引从1开始 类似的还有: getByte,getShort,getInt,getLong,getDate,getFloat,getDouble等, java.sql.ResultSet接口,JDBC API中关键类和接口,void close( ) /关闭当前结果集,数据库操作步骤, 第一步,指定JDBC Driver, 下载相应的jar文件,配置classpath;在需要时注册JDBC Driver;,/注册sql server的JDBC Driver System.setProperty(“jdbc.drivers“, “com.microsoft.jdbc.sqlserver. SQLServerDriver“ ); /连接sql server数据库,使用其提供的jdbc driver,配置mysql的classpath: 方法一:我的电脑-属性-高级-环境变量-添加变量classpath(如果已经有了则不用添加,直接修改,假定jar文件保存在c:jdbcdriver目录下) ,classpath值为 c:jdbcdrivermysql-connector-java-5.1.10-bin.jar; 方法二:在NetBeans或Eclispe直接导入该jar文件,数据库操作步骤, 第二步,数据库连接, 创建Connection对象,指定数据源,用户名,密码 Connection conn=DriverManger.getConnection(url, userName, password); 数据库操作完成之后,需要使用close关闭连接,/连接mysql Connection conn=DriverManager.getConnection(“jdbc:mysql:/localhost/java“, “root“,“buct105“);,数据库操作步骤, 第三步,创建创建Statement对象,执行SQL语句,Statement stat=conn.createStatement( ); String sql=“”; stat.executeUpdate(sql);/可以插入,删除,修改数据库的内容 stat.executeQuery(sql);/select查询,Statement stat=conn.createStatement( ); String sql=“insert into person (personName) values(李丽)”; stat.executeUpdate(sql);/向表中插入一行数据,数据库操作步骤,针对查询,executeQuery方法将返回ResultSet对象,可以每次一行地迭代遍历所有查询结果;在初始情况下,调用next方法才能转到查询结果第一行;每次调用next向前移动一行,如果到达最后一行的后面,返回false;,ResultSet result=stat.executeQuery(“select * from person“ ); while(result.next() /依次处理结果中的每一行 System.out.println(result.getString(“personName“); System.out.println(result.getString(“email“); , 第三步,创建创建Statement对象,执行SQL语句,数据库操作步骤,注意: 一个Connection对象可以对应一个或多个Statement对象; 一个Statement对象可以用于多个不相关的命令和操作,但是只能对应一个结果集; 当使用完Connection,Statement和ResultSet后,应该调用close方法进行关闭; 关闭Connection将关闭连接上的所有对象;关闭Statement将关闭该对象和结果集。,例:MySQLTest.java,PropertiesTest.java, 第四步,释放数据库连接,conn.close();/关闭连接,释放资源,数据库操作步骤,例:TableTest.java /JTable使用示例 AddressBookManager.java PersonDao.java Person.java,String data=“1“,“李
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《FZT 80002-2016服装标志、包装、运输和贮存》
- 深度解析(2026)《FZT 54121-2019低熔点聚酯(LMPET)聚酯(PET)复合单丝》
- 深度解析(2026)《FZT 14019-2020棉提花印染布》:从标准解读到未来产业应用前瞻
- 《JBT 8550-2011履带式露天钻车》专题研究报告
- 《JBT 8439-2008使用于高海拔地区的高压交流电机防电晕技术要求》专题研究报告
- 文化教育信息咨询公司管理办法
- 2026年随州市曾都区城管协管招聘笔试备考题库及答案解析
- 2026年长沙市芙蓉区社区工作者招聘考试备考试题及答案解析
- 稀有金属提取技术
- 2026年汕尾市城区社区工作者招聘考试模拟试题及答案解析
- 预算绩效目标管理指标汇编
- 电商平台服务协议、交易规则
- 电梯安装安全培训
- 华东理工大学《无机非金属材料热工过程及设备》2023-2024学年第一学期期末试卷
- 五年(2020-2024)高考语文真题分类汇编专题04 古代诗歌鉴赏(原卷版)
- 药店纳入定点后使用医疗保障基金的预测性分析报告
- 如何提高学生的思维能力
- 苏州市2022-2023学年高二下学期期中考试地理试卷(学生版)
- 引水隧洞回填固结灌浆施工方案
- 医院药品评价与遴选量化评分表
- 高级英语unit12-I-have-a-dream我有一个梦想
评论
0/150
提交评论