您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 黑马程序员小鲁哥哥白话笔记-JDBC(一)
黑马程序员济南中心编著小鲁哥哥白话笔记-JDBC(API详解)前边我们讲过SQL的一些基本操作,大家都是通过图形化工具对数据本身进行操作,今天我们讲一讲如何通过java代码去操作数据库,java中定义了一种规范,叫做JDBC.JDBC:JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范JDBC的使用是有标准的步骤的,大家根据固定的模式去写自己的JDBC代码就可以。JDBC一共6个步骤:1.注册驱动.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(newcom.mysql.jdbc.Driver());以上代码不推荐使用,存在两方面不足1.硬编码,后期不易于程序扩展和维护2.驱动被注册两次。通常开发我们使用Class.forName()加载一个使用字符串描述的驱动类。如果使用Class.forName()将类加载到内存,该类的静态代码将自动执行。通过查询com.mysql.jdbc.Driver源码,我们发现Driver类“主动”将自己进行注册publicclassDriverextendsNonRegisteringDriverimplementsjava.sql.Driver{static{try{java.sql.DriverManager.registerDriver(newDriver());}catch(SQLExceptionE){thrownewRuntimeException(Can'tregisterdriver!);}}……}二、获得链接代码:Connectioncon=DriverManager.getConnection(“jdbc:mysql://localhost:3306/mydb”,”root”,”root”);黑马程序员济南中心编著获取连接需要方法DriverManager.getConnection(url,username,password),三个参数分别表示,url需要连接数据库的位置(网址)user用户名password密码url比较复杂,下面是mysql的url:jdbc:mysql://localhost:3306/mydbJDBC规定url的格式由三部分组成,每个部分中间使用冒号分隔。第一部分是jdbc,这是固定的;第二部分是数据库名称,那么连接mysql数据库,第二部分当然是mysql了;第三部分是由数据库厂商规定的,我们需要了解每个数据库厂商的要求,mysql的第三部分分别由数据库服务器的IP地址(localhost)、端口号(3306),以及DATABASE名称(mydb)组成。三、获得语句执行平台Stringsql=某SQL语句;获取Statement语句执行平台:Statementstmt=con.createStatement();常用方法:intexecuteUpdate(Stringsql);--执行insertupdatedelete语句.ResultSetexecuteQuery(Stringsql);--执行select语句.booleanexecute(Stringsql);--执行select返回true执行其他的语句返回false.四、处理结果集:ResultSet实际上就是一张二维的表格,我们可以调用其booleannext()方法指向某行记录,当第一次调用next()方法时,便指向第一行记录的位置,这时就可以使用ResultSet提供的getXXX(intcol)方法(与索引从0开始不同个,列从1开始)来获取指定列的数据:rs.next();//指向第一行黑马程序员济南中心编著rs.getInt(1);//获取第一行第一列的数据常用方法:ObjectgetObject(intindex)/ObjectgetObject(Stringname)获得任意对象StringgetString(intindex)/ObjectgetObject(Stringname)获得字符串intgetInt(intindex)/ObjectgetObject(Stringname)获得整形doublegetDouble(intindex)/ObjectgetObject(Stringname)获得双精度浮点型五、释放资源:与IO流一样,使用后的东西都需要关闭!关闭的顺序是先得到的后关闭,后得到的先关闭。rs.close();stmt.close();con.close();今天先给大家介绍一下什么是JDBC以及JDBC相关的API的使用,下一次我们详细讲一讲如何使用JDBC。
本文标题:黑马程序员小鲁哥哥白话笔记-JDBC(一)
链接地址:https://www.777doc.com/doc-4434022 .html