java的JDBC简单案例
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简单案例相关推荐
- java 列表框简单案例
运行结果: 代码: import java.awt.BorderLayout; import java.util.Vector;import javax.swing.JFrame; import ja ...
- java 向nodejs 发送请求简单案例
java 向nodejs 发送请求简单案例 最近在做nodejs的东西,一直不明白java如何与nodejs建立连接,下面写了一个简单demo: nodejs端: var http = requir ...
- idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...
intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...
- Java通过DBCP连接池方法实现JDBC代码案例
Java和大数据系列 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等 ...
- JAVA小程序简单学籍系统参考代码,登陆小程序,Jtree //Jtree,JDBC,Jframe
JAVA小程序简单学籍系统//Jtree,JDBC,Jframe 我们可以先在JAVA写一个类打开数据库获取连接 package sql; import java.sql.Connection; im ...
- Java设计模式之单例模式(附简单案例)
一.简单描述 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式涉及到一个单一的类,该类负 ...
- Java语言最新实用案例教程_Java语言最新实用案例教程
第1章Java语言基础 1.1初识Java程序 案例11一个简单的Java应用程序 案例12一个简单的GUI程序 1.2Java语言基础 案例13两个数的计算程序 案例14求素数 1.3数组与 ...
- SSM框架整合+简单案例实现
SSM框架整合+简单案例实现 文章目录 前言 一.Spring+SpringMVC+Mybatis框架整合 1.建立一个新的web项目 2.所需jar包 3.建立数据库表与实体类之间的映射 4.web ...
- java写一个外网访问的接口_【JAVA基础】一个案例搞懂类、对象、重载、封装、继承、多态、覆盖、抽象和接口概念及区别(中篇)...
0 前言 初学JAVA时,总会对一些概念一知半解,相互混淆,不明其设计的用意,如类.对象.重载.封装.继承.多态.覆盖.抽象类.接口概念.为便于理解和巩固,本文将基于一个案例及其变形,展现各个概念的定 ...
- Java消息系统简单设计与实现
前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息 ...
最新文章
- 如何支持亿级用户分流实验?AB实验平台在爱奇艺的实践
- Boost Asio总结(9)数据缓冲区class mutable_buffer和const_buffer
- linux apache2 伪静态,linux Ubuntu apache2 伪静态设置
- C/C++中涉及存储方式的关键字:auto,static,register,extern2009-01-22 11:23auto关键字:
- 前端学习(2866):自定义组件库效果演示
- 【Codeforces #130 Div2】Solutions
- 自动化运维Shell课堂笔记
- cobol_在尝试之前不要讨厌COBOL
- Spring IoC — 基于Java类的配置
- 经典排序算法(四)--基数排序Radix Sort
- c++switch实现猜拳_Animate/FLASH如何制作猜拳小游戏(AS3)
- Java 身份证号 计算年龄、性别
- c语言中judge的用法,judge的用法总结大全
- vue3使用datav
- 数列和级数(基本概念)
- 柯西定理与留数定理的应用总结
- Multisim设置图纸大小的详细步骤
- 网上查的资料怎么打印?
- 三星N900刷机包 基于颓废NO.7更新 状态栏透明 右上角一键锁屏
- 网贷害人,迷途知返后,天真的以为外包只要会增删改查就够了???