前言:JDBC用到的API和常用方法

  • DriverMannager类

    加载驱动并创建与数据库的连接,通常使用Class类的静态方法forName()来实现加载驱动,使用getConnection(String url,String user,String pwd)方法实现连接,返回如下Connection对象

  • Connection接口

    使用createStatement()返回一个用于向数据库发送语句的Statement对象,prepareStatement(String sql)返回一个用于向数据库发送参数化的SQL语句的PreparedStatement对象

  • Statement接口

    用于执行静态SQL语句,并返回一个结果对象

    boolean execute(String sql)//用于执行各种SQL语句,返回布尔值,true代表有查询结果,可用getResultSet()获得查询结果
    int executeUpdate(String sql)//用于执行insert、update、delete语句,返回数据库中受影响的记录条数
    ResultSet executeQuery(String sql)//执行select语句,返回ResultSet对象
  • PreparedStatement接口

    是Statement的子接口,扩展了带有参数SQL语句的执行操作,使用占位符"?"代替参数,使用setXXX()方法赋值

    int executeUpdate()//执行SQL语句,限制语句为无返回内容的sql或DML语句
    ResultSet executeQuery()//执行SQL查询 返回ResultSet对象
    void setInt(int index,int x)//将指定的对应表头的参数设置为x
    void setFloat(int index,float x)
    void setString(int index,String x)
    void setDate(int index, Date x)//注意:Date类型必须为java.sql.Date,非java.util.Date
  • ResultSet接口

    用于保存查询后的结果集,封装在一个逻辑表格中,接口内部有指向表格数据行的游标(指针),调用next()方法作为循环条件迭代结果集

    String getString(int columnindex)//根据索引获取指定字段的String的值
    String getString(String columnname)//根据字段名称获取指定字段的String的值
    int getInt(int columnindex)//根据索引获取指定字段的int的值
    int getInt(String columnname)//根据字段名称获取指定字段的int的值
    Date getDate(int columnindex)//根据索引获取字段的Date值
    Date getDate(String columnname)//根据字段名称获取字段的Date值
    boolean next()//游标下移一行
    boolean absolute(int row)//游标移动到指定行

步骤概述:

1.加载数据库驱动

​ 数据库驱动zip包下载:https://dev.mysql.com/downloads/connector/j/

选择Platform Independent,完成后在项目结构中导入文件夹里的Jar包

Class.forName("com.mysql.jdbc.Driver");//Mysql驱动
//IDEA亲测提示上面语句已经弃用,可改为com.mysql.cj.jdbc.Driver""
Class.forName("oracle.jdbc.driver.OracleDriver");//Oracle驱动

2.通过DriverManager获取数据库连接

Connect conn=DriverManager.getConnection(String url,String user,String pwd);

​ url格式:jdbc:mysql://localhost:3306/database-name

3.通过Connection对象获取Statement对象

Statement stmt=conn.creatStatement();stmt=conn.prepareStatement(String sql);

4.使用Statement执行SQL语句

ResultSet rs=stmt.executeQuery(sql);

5.操作得到的结果集

​ rs.getXXX();

6.关闭连接,释放资源

​ 在try...catch..后的finally{}中统一关闭资源

实例

public class sql {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//1.加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://114.xx.xxx.62:3306/company";
String user = "root";
String pwd = "xxxxxx";
//2.通过DriverManager获取数据库连接
conn = DriverManager.getConnection(url, user, pwd);
//3.通过Connection获取statement对象
stmt = conn.createStatement();
//4.执行SQL语句
rs = stmt.executeQuery("select * from demo1");
//5.操作结果集
while (rs.next()) {
String name = rs.getString("企业名称");
String lat = rs.getString("经纬度");
String flag1 = rs.getString("flag1");
System.out.println(name+" | "+lat+" | "+flag1);
}
} } catch (ClassNotFoundException e) {
e.printStackTrace();
}finally {
//6.关闭连接,释放资源
if(rs!=null){rs.close();}
if(stmt!=null){stmt.close();}
if(conn!=null){conn.close();}
}
}
}
}

​ 运行结果

java-数据库操作(JDBC)的更多相关文章

  1. 复习java数据库操作的总结

    以前学习java数据库操作,学得那叫糊里糊涂,各种JDBC常用的类和接口根本是傻傻分不清啥是干嘛的.只是套着用用吧. 不过这次好歹清楚些了,呜呜,学习有阶段性,多次重复才有好效果,多么痛的领悟. 工程 ...

  2. Java数据库操作(JDBC)

    JDBC Java数据库连接(Java DataBase Connectivity,JDBC)用于在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库 ...

  3. java数据库操作:JDBC的操作

    1,JDBC注意操作类及接口: 数据库操作过程: 1)打开数据库服务 2)连接数据库:一般都要输入用户名,密码, 3)操作数据库:创建表:查询表,更新,记录. 4)关闭数据库. 1,DriverMan ...

  4. Java数据库操作

    一.JDBC 1.JDBC Java数据库连接,用于Java程序中实现数据库操作功能,java.sql包中提供了执行SQL语句,访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口及类. 2. ...

  5. java程序员从笨鸟到菜鸟之(七)一—java数据库操作

     本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 数据库访问几乎每一个稍微成型的程序都要用到的知识,怎么高效的访问数据库也是我们学习的一个 ...

  6. Java数据库编程(JDBC)

    一.使用Java对数据库的操作步骤: 1.根据应用程序的数据库类型,加载相应的驱动: 2.连接到数据库,得到Connection对象: 3.通过Connection创建Statement对象: 4.使 ...

  7. 【转载】java数据库操作

    数据库访问几乎每一个稍微成型的程序都要用到的知识,怎么高效的访问数据库也是我们学习的一个重点,今天的任务就是总结java访问数据库的方法和有关API,java访问数据库主要用的方法是JDBC,它是ja ...

  8. Java数据库操作(MySQL与SQLserver)

    在java编程开发中,数据库的开发是重头戏. MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品: SQL Server是由Microsoft开发 ...

  9. Java 数据库操作

    目录 Java数据库组织架构 下载驱动包 连接数据库 连接数据库的三个步骤 连接数据库的高开销 Statement接口介绍 PreparedStatement类 使用PreparedStatement ...

  10. JAVA数据库编程(JDBC技术)-入门笔记

    本菜鸟才介入Java,我现在不急着去看那些基本的语法或者一些Java里面的版本的特征或者是一些晋级的知识,因为有一点.Net的OOP编程思想,所以对于Java的这些语法以及什么的在用到的时候在去发现学 ...

随机推荐

  1. unittest_skip跳过用例执行(3)

    在执行测试用例时,有时候有些用例是不需要执行的,比如版本迭代用例弃用,测试周期短只需要执行优先级高的用例,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作 ...

  2. webSocket 前端 js 加入 心跳机制 的基本写法

    1前言 websocket 一般 每隔 90 秒无操作则会自动断开  ,需要加入一个心跳机制 来防止 自断 2. 实验过程 (1)设定一个jsp 或html 文件都行 ,加入元素 (2)js 源码 , ...

  3. Standalone集群搭建和Spark应用监控

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6815920501530034696/ 承接上一篇文档<Spark词频前十的统计练习> Spark on ...

  4. Vulnhub系列:chili

    0x01 靶机信息 靶机:chili难度:简单下载:https://www.vulnhub.com/entry/chili-1,558/ 靶机描述: 0x02 信息收集 nmap扫描存活主机确定靶场i ...

  5. 一文看懂B端产品和C端产品

    大纲 什么是B端产品 什么是C端产品 为什么会产生B端产品和C端产品 怎么判断一个产品是B端还是C端 B端产品和C端产品存在哪些差异 C端产品经理如何向B端产品经理转型 写在最后   什么是B, Bu ...

  6. Feed流系统重构-架构篇

    重构,于我而言,很大的快乐在于能够解决问题. 第一次重构是重构一个c#版本的彩票算奖系统.当时的算奖系统在开奖后,算奖经常超时,导致用户经常投诉.接到重构的任务,既兴奋又紧张,花了两天时间,除了吃饭睡 ...

  7. Java中生成一个唯一值的方式

    现总结几种生成一个唯一值的方式 第一种:采用nanoTime() // 理论上存在重复的可能,可以在后面再加上一个随机字符串 Random r = new Random(); for (int i = ...

  8. [源码分析] Facebook如何训练超大模型---(1)

    [源码分析] Facebook如何训练超大模型---(1) 目录 [源码分析] Facebook如何训练超大模型---(1) 0x00 摘要 0x01 简介 1.1 FAIR & FSDP 1 ...

  9. JSP页面使用EL表达式不显示实际数据

    今天在学习有关jsp的相关知识内容时,遇到了el表达式只是显示括号里面的内容 代码如下: <%@ page contentType="text/html;charset=UTF-8&q ...

  10. manjaro20配置matebook fn驱动

    安装fn驱动 https://github.com/aymanbagabas/Huawei-WMI Latest release中下载并安装 matebook-applet_2.4.8_amd64.d ...