黑马程序员小鲁哥哥白话笔记-JDBC(一).docx

黑马程序员小鲁哥哥白话笔记-JDBC(一).docx

ID:57195681

大小:14.98 KB

页数:4页

时间:2020-08-05

黑马程序员小鲁哥哥白话笔记-JDBC(一).docx_第1页
黑马程序员小鲁哥哥白话笔记-JDBC(一).docx_第2页
黑马程序员小鲁哥哥白话笔记-JDBC(一).docx_第3页
黑马程序员小鲁哥哥白话笔记-JDBC(一).docx_第4页
资源描述:

《黑马程序员小鲁哥哥白话笔记-JDBC(一).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、小鲁哥哥白话笔记-JDBC(API详解)前边我们讲过SQL的一些基本操作,大家都是通过图形化工具对数据本身进行操作,今天我们讲一讲如何通过java代码去操作数据库,java中定义了一种规范,叫做JDBC.JDBC:JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范JDBC的使用是有标准的步骤的,大家根据固定的模式去写自己的JDBC代码就可以。JDBC一共6个步骤:1.注册驱动.2.获得连

2、接.3.获得语句执行平台4.执行sql语句5.处理结果6.释放资源.下边给大家聊一聊JDBC里API的使用:一、注册驱动:代码:Class.forName("com.mysql.jdbc.Driver");JDBC规范定义驱动接口:java.sql.Driver,MySql驱动包提供了实现类:com.mysql.jdbc.DriverDriverManager工具类,提供注册驱动的方法registerDriver(),方法的参数是java.sql.Driver,所以我们可以通过如下语句进行注册:DriverManager.registerDriver(newco

3、m.mysql.jdbc.Driver());以上代码不推荐使用,存在两方面不足1.硬编码,后期不易于程序扩展和维护2.驱动被注册两次。通常开发我们使用Class.forName()加载一个使用字符串描述的驱动类。如果使用Class.forName()将类加载到内存,该类的静态代码将自动执行。通过查询com.mysql.jdbc.Driver源码,我们发现Driver类“主动”将自己进行注册publicclassDriverextendsNonRegisteringDriverimplementsjava.sql.Driver{static{try{java.s

4、ql.DriverManager.registerDriver(newDriver());}catch(SQLExceptionE){thrownewRuntimeException("Can'tregisterdriver!");}}……}二、获得链接代码:Connectioncon=DriverManager.getConnection(“jdbc:mysql://localhost:3306/mydb”,”root”,”root”);获取连接需要方法DriverManager.getConnection(url,username,password),三个参

5、数分别表示,url需要连接数据库的位置(网址)user用户名password密码url比较复杂,下面是mysql的url:jdbc:mysql://localhost:3306/mydbJDBC规定url的格式由三部分组成,每个部分中间使用冒号分隔。l第一部分是jdbc,这是固定的;l第二部分是数据库名称,那么连接mysql数据库,第二部分当然是mysql了;l第三部分是由数据库厂商规定的,我们需要了解每个数据库厂商的要求,mysql的第三部分分别由数据库服务器的IP地址(localhost)、端口号(3306),以及DATABASE名称(mydb)组成。二、获

6、得语句执行平台Stringsql="某SQL语句";获取Statement语句执行平台:Statementstmt=con.createStatement();常用方法:intexecuteUpdate(Stringsql);--执行insertupdatedelete语句.ResultSetexecuteQuery(Stringsql);--执行select语句.booleanexecute(Stringsql);--执行select返回true执行其他的语句返回false.三、处理结果集:ResultSet实际上就是一张二维的表格,我们可以调用其boolea

7、nnext()方法指向某行记录,当第一次调用next()方法时,便指向第一行记录的位置,这时就可以使用ResultSet提供的getXXX(intcol)方法(与索引从0开始不同个,列从1开始)来获取指定列的数据:rs.next();//指向第一行rs.getInt(1);//获取第一行第一列的数据常用方法:ObjectgetObject(intindex)/ObjectgetObject(Stringname)获得任意对象StringgetString(intindex)/ObjectgetObject(Stringname)获得字符串intgetInt(in

8、tindex)/Obje

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。