JDBC的查询步骤
1.加载数据库驱动类
1)在工程下新建lib文件夹,将 ojdbc6.jar(jar包在:E:\oracle\product\11.2.0\dbhome_1\jdbc\lib)拷贝至该目录下
2)右键ojdbc6.jar文件,build path --> add too build path
3)将驱动类加载到内存中
Class.forName("oracle.jdbc.driver.OracleDriver");
2.获取数据库连接对象
Connection conn = DriverManager.getConnection(url,user,password);
3.写sql
String sql = "xxxxxx";
4.创建PreparedStatement对象
PreparedStatement ps = conn.prepareStatement(sql);
5.执行查询返回ResultSet结果集对象
ResultSet rs = ps.executeQuery();
6.遍历结果集,获取查询结果
while(rs.next){
rs.getXxx()
}
7.释放资源
rs.close()
ps.close()
conn.close()
JDBC连接字符串
MySQL:
String Driver="com.mysql.jdbc.Driver"; //驱动程序
String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver);
Connection con=DriverManager.getConnection(URL,Username,Password); Oracle:
String Driver="oracle.jdbc.driver.OracleDriver"; //连接数据库的方法
String URL="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver) ; //加载数据库驱动
Connection con=DriverManager.getConnection(URL,Username,Password); //常用数据库链接方式 DB2:
String Driver="com.ibm.dbjdbc.app.DBDriver"; //连接具有DB2客户端的Provider实例
//String Driver="com.ibm.dbjdbc.net.DBDriver"; //连接不具有DB2客户端的Provider实例
String URL="jdbc:db2://localhost:5000/db_name"; //db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver) ; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class TestStatement {
public static void main(String[] args) {
try {
//1.加载数据库驱动文件
Class.forName("oracle.jdbc.driver.OracleDriver"); //2。获取数据库连接对象
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String user ="SCOTT";
String password = "tiger"; Connection conn = DriverManager.getConnection(url, user, password); //3.通过connection对象获取一个Statement对象,用于sql语句发送到数据库 testExecuteQuery(conn.createStatement());
System.out.println("--------------------");
testExecuteUpdate(conn.createStatement());
System.out.println("---------------------");
testExcute(conn.createStatement()); //5.遍历结果集 } catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("请检查连接驱动类是否正确");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static void testExecuteUpdate(Statement stmt) throws SQLException { String sql = "insert into emp(empno,ename,sal) values(434,'mm',5000)";
int result = stmt.executeUpdate(sql);
System.out.println(result);
} public static void testExecuteQuery(Statement stmt) throws SQLException {
//4.获取结果集对象
//executeQuery 只能用在select关键字的查询中
String sql = "select e.ename ee,e.empno from emp e";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getString("ee")+"\t"+rs.getInt("empno"));
}
} public static void testExcute(Statement stmt) throws SQLException {
//execute方法可以执行任意的sql语句
String sql = "select * from emp";
boolean flag = stmt.execute(sql);
ResultSet rs = stmt.getResultSet();
System.out.println(flag); while(rs.next()) {
System.out.println(rs.getString("empno"));
} }
}

import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;
public class TestJDBCgetTable {public static void main(String[] args) {Connection conn = null;ResultSet columns = null;try {//加载数据库驱动文件Class.forName("oracle.jdbc.driver.OracleDriver");conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "SCOTT", "tiger");//获取数据库的元信息DatabaseMetaData metaData = conn.getMetaData();//查看数据库中有哪些表/*ResultSet rs = metaData.getTables(conn.getCatalog(), "SCOTT", null, new String[]{"TABLE"});while(rs.next()) {System.out.println(rs.getString(3));}*/columns = metaData.getColumns(conn.getCatalog(), "SCOTT", "EMP", null);while(columns.next()) {System.out.println(columns.getString(4));}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {try {if(columns!=null) {columns.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if(conn!=null) {conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}

JDBC的使用-----Statement的更多相关文章

  1. JDBC中的Statement和PreparedStatement的区别

    JDBC中的Statement和PreparedStatement的区别  

  2. MySQL异常:Caused by: com.mysql.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or client request

    Caused by: com.mysql.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or cl ...

  3. jdbc中的Statement对象和Preparedstatement对象的区别,以及通过jdbc操作调用存储过程

    一. java.sql.*   和  javax.sql.*的包的类结构 |- Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接口. |- connect(url, p ...

  4. JDBC batch批处理Statement executeBatch 具体解释

    JDBC提供了数据库batch处理的能力,在数据大批量操作(新增.删除等)的情况下能够大幅度提升系统的性能.我曾经接触的一个项目,在没有採用batch处理时,删除5万条数据大概要半个小时左右,后来对系 ...

  5. JDBC的使用——Statement

    JDBC是Java最基本的数据库操作途径,虽然现在有了更高端的Hibernate和JPA,但是其实它们的底层还是用的这些最基本的JDBC.而且,如果开发一个小型的应用程序,使用Hibernate不免有 ...

  6. JDBC batch批量Statement executeBatch 详细解释

    JDBC提供了数据库batch处理的能力,在数据大批量操作(新增.删除等)的情况下能够大幅度提升系统的性能.我曾经接触的一个项目,在没有採用batch处理时,删除5万条数据大概要半个小时左右,后来对系 ...

  7. JDBC中的Statement和PreparedStatement的差别

    以Oracle为例吧 Statement为一条Sql语句生成运行计划, 假设要运行两条sql语句 select colume from table where colume=1; select col ...

  8. Java -- JDBC 学习--通过Statement进行数据库更新操作

    通过 JDBC 向指定的数据表中插入一条记录. 1. Statement: 用于执行 SQL 语句的对象 1). 通过 Connection 的 createStatement() 方法来获取 2). ...

  9. [转] JDBC中的Statement和PreparedStatement的区别

    以Oracle为例吧 Statement为一条Sql语句生成执行计划,如果要执行两条sql语句select colume from table where colume=1;select colume ...

随机推荐

  1. Python学习笔记-chapter1

    我自幼时自觉聪慧,但实缺恒力,遂二十余岁却一事无成,亦无一技傍身,实属惭愧. 少时便仰慕于新兴世界之IT技术,然因惰性,未曾一日习学. 今陷此困境,聊以度日,反无端生出些许时间,便志要潜心研学,不求能 ...

  2. webpack 插件库

    webpack常用的插件安装命令 webpack常用的插件安装命令:1:npm install html-webpack-plugin --save-dev //自动快速的帮我们生成HTML.2:np ...

  3. Spring EnableWebMvc vs WebMvcConfigurationSupport

    EnableWebMvc vs WebMvcConfigurationSupport spring doc解释 WebMvcConfigurationSupport: This is the main ...

  4. 安装Oracle数据库心得

    学到Oracle数据库了,想在自己电脑上安装个Oracle数据库.在网上下载了一个Oracle18c版 下边是我安装Oracle18c版的数据库失败,后来在卸载过程中遇到的问题: 1.用Univers ...

  5. 学习笔记TF063:TensorFlow Debugger

    TensorFlow Debugger(tfdbg),TensorFlow专用调试器.用断点.计算机图形化展现实时数据流,可视化运行TensorFlow图形内部结构.状态.有助训练推理调试模型错误.h ...

  6. 移除元素-leetcode-27

    class Solution {public:    int removeElement(vector<int>& nums, int val) {        if(nums. ...

  7. cin.ignore

    功能:函数用于输入流.它读入字符,直到已经读了num 个字符(默认为1)或是直到字符delim 被读入(默认为EOF).其调用形式为cin.ignore(n,终止字符)       原型:istrea ...

  8. Python基础:三、Python的解释器

    当我们编写python代码的时候,我们得到的是一个包含python代码的以.py为拓展名的文本文件,要运行代码,就需要python解释器去执行.py文件. 由于整个python语言从规范到解释器都是开 ...

  9. python-算法基础

    1.时间复杂度和空间复杂度 2.查找算法 2.1 二分查询法 2.1.1 非递归代码 def erfen(data,target): low = 0 high = len(data) - 1 whil ...

  10. cordova获取相册照片插件的使用方法:cordova-plugin-image-picker

    1. 添加插件:cordova plugin add cordova-plugin-image-picker 2.调用方法: 3.参考 : http://www.cnblogs.com/lyxy/p/ ...