package com.bjpowernode.jdbc; /** JDBC编程六步: 1.注册驱动(通知java程序即将要连接的是哪个品牌的数据库) 2.获取数据库连接(开启java进程和mysql进程之间的通道,两个进程很有可能会分别在两个不同的地方距离很远) String url = "jdbc:mysql://localhost:3306/bjpowernode"; String user = "root"; String password = "******"; conn = DriverManager.getConnection(url,user,password); 3.获取数据库操作对象(用这个对象执行SQL语句) stmt = conn.createStatement(); 4.执行SQL语句(执行CRUD操作) 5.处理查询结果集(如果第4步是select语句,才会有这一步的操作) 6.释放资源(关闭所有资源,因为JDBC是进程之间的通信,占用很多资源,需要关闭) */ import java.sql.DriverManager; import java.sql.Driver; import java.sql.SQLException; import java.sql.Connection; import java.sql.Statement; public class JDBC编程六步 { public static void main(String[] args){ Connection conn = null; //为了在finally语句块中使用,必须把变量的定义放到try语句块的外 Statement stmt = null; try{ //1、注册驱动 (告诉Java程序,即将要连接的是mysql品牌的数据库) //com.mysql.jdbc.Driver是mysql数据库厂家写的,它实现了java.sql.Driver接口。 Driver driver = new com.mysql.jdbc.Driver();//创建驱动对象 本行代码属于多态,父类型引用指向子类型对象 //如果是Oracle数据库,类名就不一样了,就变成:oracle.jdbc.driver.OracleDriver //Driver driver = new oracle.jdbc.driver.OracleDriver();//oracle数据库 DriverManager.registerDriver(driver);//告诉Java程序,即将要连接的是mysql品牌的数据库 //2、获取数据库连接 /* 什么是URL?(就是统一资源定位符) 任何一个URL都包括:协议+IP地址+端口号(port)+资源名 比如:http://192.168.100.2:8888/abc 协议:是一个提前规定好的数据传输格式。通信协议有很多:http://、https://、... 在传送数据之前,提前商量好的格式,只有按照这个格式传送数据,我们才能接收到有价值的数据。 IP地址:网络当中用来定位某台计算机的 port端口号:定位这台计算机上的某个服务的 资源名:这个服务下的某个资源 url = "jdbc:mysql://localhost:3306/test"的详解: jdbc:mysql:// ---->是java程序和mysql通信的协议 localhost ---->是本机的IP地址,本机IP地址还可以写成:127.0.0.1 3306 ---->是mysql数据库默认端口号 bjpowernode ---->是mysql数据库当中的一个数据库名称 如果是Oracle数据库则是:url = "oracle:jdbc:thin:@localhost:1521:test" oracle:jdbc:thin:@ ------>是oracle与java的通信协议 localhost---------------->是本机IP地址 1521--------------------->是oracle默认端口 bjpowernode-------------->是oracle中某个数据库的名称 */ String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "******"; //这个密码就是安装数据库时设定的密码 conn = DriverManager.getConnection(url,user,password); //3、获取数据库操作对象 stmt = conn.createStatement(); //4、执行SQL语句(DML语句insert delete update 和 DQL语句 select) /* //增加记录insert(JDBC当中的sql语句不需要以";"结尾) String insertSql = "insert into dept(deptno,dname,loc) values(50,'销售部','北京')"; //Statement接口中的executeUpdate()方法是专门用来执行DML语句的。 //该方法的返回值表示:该方法影响了数据库中的总记录条数! int count = stmt.executeUpdate(insertSql); System.out.println(count); */ /* //修改记录update String updateSql = "update dept set dname = '人事部',loc = '天津' where deptno = 50"; int count = stmt.executeUpdate(updateSql); System.out.println(count); */ //删除记录delete String deleteSql = "delete from dept where deptno = 50"; int count = stmt.executeUpdate(deleteSql); System.out.println(count); }catch(SQLException e){ e.printStackTrace(); }finally{ //6、释放资源 在finally中先释放Statement,再释放Connection。并且分别try..catch处理 if (stmt != null){ try{ stmt.close(); }catch(SQLException e){ e.printStackTrace(); } } if (conn != null){ try{ conn.close(); }catch(SQLException e){ e.printStackTrace(); } } } } }
JDBC编程六步
于 2023-01-20 21:31:33 首次发布