java的JDBC简单案例

文章目录

  • java的JDBC简单案例
    • Driver接口
    • Connection接口
    • Statement接口
    • PreparedStatement接口
    • ResultSet接口
  • 案例代码
    • 案例数据库表结构
    • 运行结果

Driver接口

Driver是每个驱动程序类必须实现的接口,专门提供给数据厂商使用

在编写JDBC程序时,必须要把所使用的数据库驱动程序和类库
(指MySQL的驱动JAR包)加载到项目的classpath中。

jar包下载地

解压后添加到项目中

根据代码提示加载Driver的包

Class.forName("com.mysql.jdbc.Driver");

Connection接口

Connection接口用于创建数据库的连接,只有获得该连接对象后才可以访问数据库,并操作数据表。

           String url = "jdbc:mysql://127.0.0.1:3306/xiaoxiaoran";String username = "root";String password = "root";conn = DriverManager.getConnection(url, username, password);

Statement接口

利用该对象把普通的SQL语句发送到数据库进行编译,然后返回数据库的处理结果。

PreparedStatement接口

PreparedStatement是Statement的子接口,拥有Statement接口的所有方法,并且可以对SQL语句进行预编译,预编译后的数据会存储在PreparedStatement对象中

PreparedStatement接口还扩展了带有参数SQL语句的执行操作,应用于该接口中的SQL语句可以使用占位符“?”代替其参数,然后通过setXxx()方法为SQL语句的参数赋值

         sql = "select * from books where bId>? ";PreparedStatement ptmt = conn.prepareStatement(sql);ptmt.setInt(1, 40);rs = ptmt.executeQuery();while (rs.next()) {System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "-此书作者-->" + rs.getString("author"));}rs.close();
             sql = "UPDATE books SET bName=? WHERE bid =? ";PreparedStatement ptmt2 = conn.prepareStatement(sql);ptmt2.setString(1, "xiaoxiaoran");ptmt2.setInt(2, 45);ptmt2.execute();

ResultSet接口

ResultSet接口用于保存JDBC执行查询时返回的结果集,该结果集与数据库表字段相对应。

在应用程序中经常使用next()方法作为while循环的条件以迭代ResultSet结果集

            String sql = "select * from books where bId>40 ";rs = stmt.executeQuery(sql);while (rs.next()) {System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "-此书作者-->" + rs.getString("author"));}rs.close();

案例代码

案例数据库表结构

import java.sql.*;public class Sql {public static void main(String[] args) throws SQLException {Statement stmt = null;ResultSet rs = null;Connection conn = null;try {Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://127.0.0.1:3306/xiaoxiaoran";String username = "root";String password = "root";conn = DriverManager.getConnection(url, username, password);stmt = conn.createStatement();String sql = "select * from books where bId>40 ";rs = stmt.executeQuery(sql);while (rs.next()) {System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "-此书作者-->" + rs.getString("author"));}rs.close();sql = "select * from books where bId>? ";PreparedStatement ptmt = conn.prepareStatement(sql);ptmt.setInt(1, 40);rs = ptmt.executeQuery();while (rs.next()) {System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "-此书作者-->" + rs.getString("author"));}rs.close();sql = "UPDATE books SET bName=? WHERE bid =? ";PreparedStatement ptmt2 = conn.prepareStatement(sql);ptmt2.setString(1, "xiaoxiaoran");ptmt2.setInt(2, 45);ptmt2.execute();} catch (ClassNotFoundException e) {e.printStackTrace();} finally {if (rs != null)rs.close();rs = null;stmt.close();stmt = null;conn.close();conn = null;}}
}

运行结果


java的JDBC简单案例相关推荐

  1. java 列表框简单案例

    运行结果: 代码: import java.awt.BorderLayout; import java.util.Vector;import javax.swing.JFrame; import ja ...

  2. java 向nodejs 发送请求简单案例

    java  向nodejs 发送请求简单案例 最近在做nodejs的东西,一直不明白java如何与nodejs建立连接,下面写了一个简单demo: nodejs端: var http = requir ...

  3. idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...

    intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...

  4. Java通过DBCP连接池方法实现JDBC代码案例

    Java和大数据系列 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等 ...

  5. JAVA小程序简单学籍系统参考代码,登陆小程序,Jtree //Jtree,JDBC,Jframe

    JAVA小程序简单学籍系统//Jtree,JDBC,Jframe 我们可以先在JAVA写一个类打开数据库获取连接 package sql; import java.sql.Connection; im ...

  6. Java设计模式之单例模式(附简单案例)

    一.简单描述 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式涉及到一个单一的类,该类负 ...

  7. Java语言最新实用案例教程_Java语言最新实用案例教程

    第1章Java语言基础 1.1初识Java程序 案例11一个简单的Java应用程序 案例12一个简单的GUI程序 1.2Java语言基础 案例13两个数的计算程序 案例14求素数 1.3数组与 ...

  8. SSM框架整合+简单案例实现

    SSM框架整合+简单案例实现 文章目录 前言 一.Spring+SpringMVC+Mybatis框架整合 1.建立一个新的web项目 2.所需jar包 3.建立数据库表与实体类之间的映射 4.web ...

  9. java写一个外网访问的接口_【JAVA基础】一个案例搞懂类、对象、重载、封装、继承、多态、覆盖、抽象和接口概念及区别(中篇)...

    0 前言 初学JAVA时,总会对一些概念一知半解,相互混淆,不明其设计的用意,如类.对象.重载.封装.继承.多态.覆盖.抽象类.接口概念.为便于理解和巩固,本文将基于一个案例及其变形,展现各个概念的定 ...

  10. Java消息系统简单设计与实现

    前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息 ...

最新文章

  1. 如何支持亿级用户分流实验?AB实验平台在爱奇艺的实践
  2. Boost Asio总结(9)数据缓冲区class mutable_buffer和const_buffer
  3. linux apache2 伪静态,linux Ubuntu apache2 伪静态设置
  4. C/C++中涉及存储方式的关键字:auto,static,register,extern2009-01-22 11:23auto关键字:
  5. 前端学习(2866):自定义组件库效果演示
  6. 【Codeforces #130 Div2】Solutions
  7. 自动化运维Shell课堂笔记
  8. cobol_在尝试之前不要讨厌COBOL
  9. Spring IoC — 基于Java类的配置
  10. 经典排序算法(四)--基数排序Radix Sort
  11. c++switch实现猜拳_Animate/FLASH如何制作猜拳小游戏(AS3)
  12. Java 身份证号 计算年龄、性别
  13. c语言中judge的用法,judge的用法总结大全
  14. vue3使用datav
  15. 数列和级数(基本概念)
  16. 柯西定理与留数定理的应用总结
  17. Multisim设置图纸大小的详细步骤
  18. 网上查的资料怎么打印?
  19. 三星N900刷机包 基于颓废NO.7更新 状态栏透明 右上角一键锁屏
  20. 网贷害人,迷途知返后,天真的以为外包只要会增删改查就够了???

热门文章

  1. 命令行_Pytest之命令行执行
  2. 数据结构之二叉树实现排序功能
  3. linux系统管理Linux系统实验,操作系统原理与Linux系统实验
  4. mysql字段动态扩展_如何用动态字段实现系统的扩展性?
  5. 关于eclipse编译出错,缺失tools.jar 1.8
  6. HTML基础 --- HTML基础
  7. [Tips]git cannot lock ref
  8. 冲刺一阶段———个人总结08
  9. linux 中文件的操作
  10. 抓肇事车(入门级算法)(C语言)