JDBC编程

1|0JDBC简介:

  • JDBC(Java Database Connectivity),即Java数据库连接。它是一种可以执行SQL语句的Java API。
  • 通过JDBC API可连接到数据库,并使用结构化查询语句实现对数据库的查询、更新等操作。
  • 使用JDBC开发数据库应用可以跨平台运行,并且可以跨数据库。
  • 通过JDBC API,不必为访问Sybase、DB2等数据库学习新的API,从而极大的简化了开发人员使用Java语言对数据库的操作。
  • 为使JDBC程序可以跨平台,需要不同的数据库厂商提供相应的驱动程序。

2|0JDBC编程步骤:

2|11、*加载数据库驱动*

将数据库驱动文件(jar文件)拷贝到classpath路径下。

加载驱动代码:Class.forName("com.mysql.jdbc.Driver");

2|22.获取数据库连接:

Connection conn=DriverManager.getConnection(URL, USER, PASSWORD)

Connection conn = DriverManager.getConnection("jdbc:mysql:///localhost:3306/data","root", "root");

2|33、通过Connection实例获取Statement对象

Statement stmt = conn.createStatement();

2|44、使用Statement实例执行SQL语句

int executeUpdate(String sql) throws SQLException

用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL语句(例如 CREATE TABLE 和 DROP TABLE)。

INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数。

对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。

2|55、使用Statement实例执行SQL语句

ResultSet executeQuery(String sql) throws SQLException

用于产生单个结果集的语句,例如 SELECT 语句。

boolean execute(String sql) throws SQLException

运行可返回多个结果的SQL语句。如果结果是 ResultSet 对象,则方法 execute 返回 true;如果结果是 Java int,则返回 false。

2|66、处理ResultRest结果集

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

2|77、回收数据库资源

回收数据库资源,包括关闭ResultSet、Statement和Connection资源。

3|0定义数据库封装操作类:

将数据连接与关闭操作封装成工具类DbConnection

public class DbConnection { //驱动类的类名 private static final String DRIVERNAME="com.mysql.jdbc.Driver"; //连接数据的URL路径 private static final String URL="jdbc:mysql://localhost:3306/data"; //数据库登录账号 private static final String USER="root"; //数据库登录密码 private static final String PASSWORD="root"; //1.加载驱动,驱动仅需加载一次即可 static{ try { Class.forName(DRIVERNAME); } catch (ClassNotFoundException e) { e.printStackTrace(); } } //获取数据库连接 public static Connection getConnection() throws Exception { try { return DriverManager.getConnection(URL, USER,PASSWORD); } catch (SQLException e) { e.printStackTrace(); throw new Exception(); } } //关闭连接 public static void colse(ResultSet rs,Statement stmt,Connection conn) throws Exception{ try { if (rs != null){ rs.close(); } if (stmt != null) { stmt.cancel(); } if (conn != null) { conn.close(); } } catch (Exception e) { e.printStackTrace(); throw new Exception(); } } }

__EOF__

本文作者xxxx
本文链接https://www.cnblogs.com/chenlei210162701002/p/18374477.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   哒喇  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示