本文共 2884 字,大约阅读时间需要 9 分钟。
【概述】
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信。
【原理】
【开发步骤】
- 注册驱动.
- 获得连接.
- 获得语句执行平台
- 执行sql语句
- 处理结果
- 释放资源.
【示例】
1、插入数据
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;/* JDBC操作数据库的步骤 1.注册驱动 告知JVM使用的是哪一个数据库的驱动 2.获得连接 使用JDBC中的类,完成对MySQL数据库的连接 3.获得语句执行平台 通过连接对象获取对SQL语句的执行者对象 4.执行sql语句 使用执行者对象,向数据库执行SQL语句 获取到数据库的执行后的结果 5.处理结果 6.释放资源 一堆close() */public class JDBCDemo { public static void main(String[] args)throws ClassNotFoundException,SQLException{ //1.注册驱动 反射技术,将驱动类加入到内容 // 使用java.sql.DriverManager类静态方法 registerDriver(Driver driver) // Diver是一个接口,参数传递,MySQL驱动程序中的实现类 //DriverManager.registerDriver(new Driver()); //驱动类源代码,注册2次驱动程序 Class.forName("com.mysql.jdbc.Driver"); //2.获得数据库连接 DriverManager类中静态方法 //static Connection getConnection(String url, String user, String password) //返回值是Connection接口的实现类,在mysql驱动程序 //url: 数据库地址 jdbc:mysql://连接主机IP:端口号//数据库名字 String url = "jdbc:mysql://localhost:3306/day07"; String username="root"; String password="root"; Connection con = DriverManager.getConnection(url, username, password); //3.获得语句执行平台, 通过数据库连接对象,获取到SQL语句的执行者对象 // con对象调用方法 Statement createStatement() 获取Statement对象,将SQL语句发送到数据库 // 返回值是 Statement接口的实现类对象,,在mysql驱动程序 Statement stat = con.createStatement(); // 4.执行sql语句 // 通过执行者对象调用方法执行SQL语句,获取结果 // int executeUpdate(String sql) 执行数据库中的SQL语句, insert delete update // 返回值int,操作成功数据表多少行 int row = stat.executeUpdate ("INSERT INTO product(pname,price,cno) VALUES('衡水老白干',100,3)"); System.out.println(row); //6.释放资源 一堆close() stat.close(); con.close(); }}
2、查询
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;/* * JDBC技术,查询数据表,获取结果集 */public class JDBCDemo1 { public static void main(String[] args) throws Exception{ //1. 注册驱动 Class.forName("com.mysql.jdbc.Driver"); //2. 获取连接对象 String url = "jdbc:mysql://localhost:3306/day07"; String username="root"; String password="root"; Connection con = DriverManager.getConnection(url, username, password); //3 .获取执行SQL 语句对象 Statement stat = con.createStatement(); // 拼写查询的SQL String sql = "SELECT * FROM product"; //4. 调用执行者对象方法,执行SQL语句获取结果集 // ResultSet executeQuery(String sql) 执行SQL语句中的select查询 // 返回值ResultSet接口的实现类对象,实现类在mysql驱动中 ResultSet rs = stat.executeQuery(sql); //5 .处理结果集 // ResultSet接口方法 boolean next() 返回true,有结果集,返回false没有结果集 while(rs.next()){ //获取每列数据,使用是ResultSet接口的方法 getXX方法参数中,建议写String列名 System.out.println(rs.getInt("pid")+" "+rs.getString("pname")+ " "+rs.getDouble("price")+" "+rs.getString("cno")); } rs.close(); stat.close(); con.close(); }}
转载地址:http://knirn.baihongyu.com/