1、JDBC介绍及简单的查询功能

JDBC的组成
     JDBC API 面向开发人员的API                              与数据库进行通信,操纵数据库中的数据
     JDBC Driver API 面向底层驱动开发商的API          用来实现数据库接口应用编程接口与特定驱动器分离的特性,使开发人员统一编程接口来真的不同的数据库进行编程

JDBC API 是一系列的编程接口,用来进行数据库的连接访问数据等:
          DriverManager     驱动程序管理类,用来装载驱动程序并为创建数据库连接提供支持
          Connection(连接,关联)接口  用来连接某一指定的数据库
          Statement(声明) 接口  该接口提供了执行SQL语句获取查询结果的方法   ,有两个子接口:
                    PreparedStatement(预编译语句):用于执行预编译的SQL语句
          ResultSet(结果集):该接口提供了对结果集处理的方法;
          java.sql.Date: java.util.Date的一个子集,用于表示与SQL DATE相同的日期类型,该类型不包括时间
          java.sql.Timestamp:标准java.util.Date类的扩展,并增加了一个能表示纳秒的时间域
          java.sql.CallableStatement:用于执行SQL存储过程
          
JDBC Driver API 有四种类型:
     JDBC-ODBC bridge(桥):通过JDBC的调用通过其他编程接口来实现,odbc通道JDBC调用转化为对odbc调用,这种调用的驱动需要安装本地代码库(依赖本地程序,便携性差) 
     部分java技术的本地API驱动程序:部分实现基于java语言,其他部分委托给本地的数据库的客户端代码实现,跟上面一样依赖本地
     全部基于java技术的本地API驱动程序I程序
     全部基于java技术的本地协议驱动程序

JDBC编程流程:
     1/加载驱动
       2/打开数据库连接
       3/创建一个会话对象执行增删改查
       4/处理查询的结果
       5/关闭会话,关闭连接等 清理工作

import java . sql .*;
public class TestJDBC {
      public static void main ( String [] args ) {
           ResultSet rs = null ;
           Statement stmt = null ;
           Connection conn = null ;
           //跟数据库连接先找到数据库管家DriverManager(连接哪种数据库)
           //new出来mysql驱动类-class.forname
           try {
               Class . forName ( "com.mysql.jdbc.Driver" ) ;
               //此时会自动注册DriverManager,可以拿到跟数据库连接
               conn = DriverManager . getConnection ( "jdbc:mysql://localhost:3306/tab_demo?useSSL=false" , "root" , "123456" ) ;
               //现在已经连接到数据库上了,现在执行sql语句
               //创建一个语句对象Statement陈述语句的意思
               stmt = conn . createStatement () ;
               rs = stmt . executeQuery ( "select * from inf" ) ;
               while ( rs . next ()){
                    int id = rs . getInt ( "id" ) ;
                    String name = rs . getString ( "name" ) ;
                    int age = rs . getInt ( "age" ) ;
                    System . out . println ( "id" + id + "name" + name + "age" + age ) ;
               }
           } catch ( ClassNotFoundException e ) {
               //驱动找不到报异常
               e . printStackTrace () ;
           } catch ( SQLException e ) {
               //后面的SQL执行异常,通常记录在log文件里,用log for J开源框架记录在文件里
               e . printStackTrace () ;
           } finally { //关闭资源
               try {
                    if ( rs != null ){ rs . close () ; rs = null ; }
                    if ( stmt != null ){ stmt . close () ; stmt = null ; }
                    if ( conn != null ){ conn . close () ; conn = null ; }
               } catch ( SQLException e ) {
                    e . printStackTrace () ;
               }           }      }}
       
好的,我很乐意为您解答。首先,您需要了解JDBC(Java Database Connectivity)是一种Java编程语言中用于执行SQL语句的API。它可以帮助我们连接到数据库并执行SQL查询,插入,更新和删除等操作。 以下是使用JDBC实现查询和添加功能简单示例代码: ### 查询功能 ```java import java.sql.*; public class JdbcQueryExample { static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; static final String USER = "yourusername"; static final String PASS = "yourpassword"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ Class.forName("com.mysql.jdbc.Driver"); System.out.println("连接数据库..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); System.out.println(" 实例化Statement对象..."); stmt = conn.createStatement(); String sql; sql = "SELECT id, name, age FROM Employees"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.print("ID: " + id); System.out.print(", 名字: " + name); System.out.println(", 年龄: " + age); } rs.close(); stmt.close(); conn.close(); }catch(SQLException se){ se.printStackTrace(); }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(stmt!=null) stmt.close(); }catch(SQLException se2){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("查询完成!"); } } ``` ### 添加功能 ```java import java.sql.*; public class JdbcInsertExample { static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; static final String USER = "yourusername"; static final String PASS = "yourpassword"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ Class.forName("com.mysql.jdbc.Driver"); System.out.println("连接数据库..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); System.out.println(" 实例化Statement对象..."); stmt = conn.createStatement(); String sql; sql = "INSERT INTO Employees (id, name, age) VALUES (101, '张三', 23)"; stmt.executeUpdate(sql); sql = "INSERT INTO Employees (id, name, age) VALUES (102, '李四', 24)"; stmt.executeUpdate(sql); sql = "INSERT INTO Employees (id, name, age) VALUES (103, '王五', 25)"; stmt.executeUpdate(sql); System.out.println("数据已经成功添加到数据库表中!"); stmt.close(); conn.close(); }catch(SQLException se){ se.printStackTrace(); }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(stmt!=null) stmt.close(); }catch(SQLException se2){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("添加完成!"); } } ``` 请注意,您需要将上述代码中的“yourusername”和“yourpassword”替换为您的MySQL用户名和密码,并且需要将“com.mysql.jdbc.Driver”替换为您使用的数据库的驱动程序。 希望这可以帮助您开始使用JDBC实现您的查询和添加功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值