博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC编程步骤
阅读量:7015 次
发布时间:2019-06-28

本文共 2117 字,大约阅读时间需要 7 分钟。

hot3.png

①加载数据库驱动。Class.forName("");

//加载MySQL数据库驱动Class.forName("com.mysql.jdbc.Driver");//加载Oracle驱动Class.forName("oracle.jdbc.driver.OracleDriver");

②通过DriverManager获取数据库连接

//获取数据库连接DriverManager.getConnection(String url,String user,String pass);

数据库URL通常遵循如下写法:

jdbc:subprotocol: other stuff//jdbc固定的//subprotocol指定连接到 特定数据库的驱动程序//other和stuff没有较强的规律 //MySQL数据库的URL写法如下:jdbc:mysql://localhost:port/databasename//Oracle数据库的URL写法如下:jdbc:oracle:thin:@hostname:port:databasename

 ③通过Connection对象创建Statement对象,Connection创建Statement的方法有3个:

  • createStatement();      //创建基本的Statement对象。

  • prepareStatement(String sql);  //根据传入的SQL语句创建预编译的Statement。

  • prepareCall(String sql);  //根据传入的SQL语句创建CallableStatement对象。

④使用Statement执行SQL语句,所有Statement都有3个方法执行SQL语句:

  • execute:可以执行任何SQL语句,但比较麻烦。

  • executeUpdate:主要用于执行DML和DDL语句。执行DML返回受SQL语句影响的行数。执行DDL返回0.

  • executeQuery:只能执行查询语句,执行后返回代表查询结果的ResultSet对象。

⑤操作结果集。

        如果执行的 语句是查询语句,执行结果将返回一个ResultSet对象,该对象保存来得SQL语句查询的结果。

    程序可以通过操作该ResultSet对象取出查询结果。ResultSet对象主要提供了两类方法:

  • next、previous、first、last、beforeFirst、afterLast、absolute等移动记录指针的方法。(该ResultSet为可滚动的结果集)

  • getXxx获取记录指针指向行,特定列的值。该方法可使用列索引作为参数(性能好),也可以使用列名作为参数(可读性好)。

⑥回收资源库资源,包括关闭ResultSet、Statement、Connection等资源

 

demo:ConnMySql.java

import java.sql.Connection;import java.sql.Statement;import java.sql.ResultSet;import java.sql.DriverManager;public class connMysql { public static void main(String[] args) throws Exception  {  String url="jdbc:mysql://localhost:3306/test_db";  String user="root";  String pass="root";  //1.加载驱动  Class.forName("com.mysql.jdbc.Driver");  //2.使用DriverManager获取数据库连接  Connection conn = DriverManager.getConnection(url,user,pass);  //3.使用Connection创建Statement对象  Statement stmt = conn.createStatement();  //4.执行SQL语句  String sqlstr = "select * from user";  ResultSet rs= stmt.executeQuery(sqlstr);  while(rs.next())  {   System.out.println(rs.getInt(1) + "/t"      + rs.getString(2) + "/t"      + rs.getString(3) + "/t"      + rs.getString(4));  }  //5.关闭数据库资源  if(rs != null)  {   rs.close();  }  if(stmt != null)  {   stmt.close();  }  if(conn != null)  {   conn.close();  } }}

转载于:https://my.oschina.net/jainpeng1003/blog/287199

你可能感兴趣的文章
Wix学习整理(5)——安装时填写注册表
查看>>
推荐一个IE6下js调试工具(Companion.JS)
查看>>
Thrift 个人实战--Thrift 网络服务模型
查看>>
利用jQuery实现回收站删除效果
查看>>
php形式的内容被处理
查看>>
Exchanging Partitions and Subpartitions with Tables--官方文档
查看>>
js原生继承之——组合式继承实例
查看>>
log4j配置
查看>>
Jekyll学习:基本使用方法
查看>>
[Typescript] Typescript Enums vs Booleans when Handling State
查看>>
Java中HashMap源码分析
查看>>
jsp ${param.id}用法
查看>>
(转)c#.net常用字符串函数
查看>>
JSTL、EL、ONGL、Struts标签的区别与使用
查看>>
Xamarin提示Build-tools版本过老
查看>>
Android库分析工具(崩溃反编译)
查看>>
otl翻译(11) -- OTL的迭代器
查看>>
POJ 2184 Cow Exhibition 01背包
查看>>
51术语详解
查看>>
[linux]scp指令
查看>>