什么是jdbc?jdbc的本质是什么?
Java与数据库的连接.通过jdbc可以操作各种关系型数据库.
Java的本质是Java的一个普通的类.数据库厂商提供的驱动jar包,来实现sun公司提供一套"应用程序接口规范".
java.sql.Drvier 驱动接口
java.sql.DriverManager:驱动管理类(管理jdbc的驱动服务)
java.sql.Connection:与特定数据库的一种会话连接
java.sql.Statement:执行静态sql语句 (执行对象,操作数据库)
jdbc的基本操作步骤
1.导包,并注册驱动.
导入jar包,注册驱动 Class.forName("com.mysql.jdbc.Driver") ;
2.获取数据库的连接对象.
Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/库名", "root","123456")//如果驱动包8.0 库名?带上参数
DriverManager:驱动管理类.getConnection: 获取连接
3.准备sql语句
String sql=" 写入sql语句";
4.连接执行对象
Statement stmt = conn.createStatement() ;
createStatement:建立执行语句
Statement:执行语句
5.执行sql,发送给数据库
int count = stmt.executeUpdate(sql)
6.输出结果
System.out.println( count);
7.关闭资源
stml.colse();
conn.colse();
接下来我们实际操作一下,实现数据库的增删改.
首先我们在数据库中建立一个表.在这里我建立一个名为student的表,并且加入了一些信息.
现在需要将id 为4的信息更改为 name= '派大星',age=8,address='比基尼海滩',salary=800;
实现代码如下
package com.wh;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcDemo {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Class.forName("com.mysql.jdbc.Driver");//注册驱动
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/my2203", "root", "123456");//建立连接
String sql = "update student set name='派大星',age=8,address='比基尼海滩',salary=800 where id=4;";//准备sql语句
Statement stmt = conn.createStatement();//创建执行对象
int count = stmt.executeUpdate(sql);//执行
System.out.println(count);//输出结果
stmt.close();//关闭资源
conn.close();
}
}
执行结果
增删操作一致,只是sql语句不同,在这里就不赘述了.接下来我们看一下查询语句.
查询语句和增删改不一样的是 第五步.执行时不再用executeUpdate执行.而是使用executeQuery执行.因为查的时候需要我们接收结果集.
package com.wh;
import java.sql.*;
public class JdbcDemo {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Class.forName("com.mysql.jdbc.Driver");//注册驱动
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/my2203", "root", "123456");//建立连接
String sql = "select * from student;";//准备sql语句
Statement stmt = conn.createStatement();//创建执行对象
ResultSet rs = stmt.executeQuery(sql);//执行
while (rs.next()){
int id =rs.getInt(1);
String name=rs.getString(2);
int age=rs.getInt(3);
String address=rs.getString(4);
int sarlary=rs.getInt(5);
System.out.println(id+name+ age+ address+sarlary);//输出结果
}
rs.close();
stmt.close();//关闭资源
conn.close();
}
}