JDBC开发步骤
1. 注册驱动
2. 获得连接
3. 获得执行平台
4. 执行SQL语句
5. 处理结果
6. 关闭资源
在进行开发之前,首先在所创类中加入jar包,这是mysql开发的驱动程序
剩下的按照以下步骤操作:
package myJDBC;
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.释放资源(因为数据库是由tcp/ip协议连接的,所以需要释放)close()
* */
public class myJDBC01 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.注册驱动
//使用Java.mysql.DriverManager类静态方法registerDriver(Driver driver)
//Driver是一个接口,参数传递mysql驱动程序中的实现类
//DriverManager.registerDriver(new Driver());
//在驱动类源代码中,注册一次,一共注册两次
//使用反射技术注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获得数据库连接 使用DriverManager类中的方法
//static connection getconnection(String url,String user,String password)
//返回值是connection接口的实现类,在mysql驱动程序中
//url:数据库地址 jdbc:mysql://localhost:3306/tamyda
String url="jdbc:mysql://localhost:3306/tamyda?serverTimezone=GMT%2B8";
String user="root";
String password="mysql";
Connection con=DriverManager.getConnection(url,user,password);
//3.获取语句执行平台,通过数据库连接对象,获取到SQL语句的执行者对象
//con对象调用方法 statement createstatement()获取statement对象,将SQL语句发送到数据库
//返回值是statement接口的实现类,在mysql驱动程序中
Statement stat=con.createStatement();
//执行SQL语句
//通过执行者对象调用方法执行SQL语句以获取结果
// int executeUpdate(String sql)
//执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,
//或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
//返回值int是操作语句成功的行数
int n=stat.executeUpdate("INSERT INTO sort(sname,sprice,sdesc) VALUES ('汽车',200000,'涨价了')");
System.out.println(n);
//关闭资源
stat.close();
con.close();
}
}
使用select语句练习:
package myJDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class myjdbc02 {
public static void main(String[] args) throws ClassNotFoundException, SQLException{
//使用反射机制注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//建立连接
String url="jdbc:mysql://localhost:3306/tamyda?serverTimezone=GMT%2B8";
String user="root";
String password="mysql";
Connection con=DriverManager.getConnection(url,user,password);
//获取执行平台
Statement stat=con.createStatement();
String sql="SELECT * FROM sort";
//执行语句
//使用select语句是不再是executeUpdate方法,而是使用查询语句方法
//查询结果放入结果集合中,这个是一个mysql驱动程序的实现类
ResultSet cj=stat.executeQuery(sql);
//使用迭代进行输出查询结果
//如果直接输出,表如果为空可能出现错误信息
while(cj.next()) {
System.out.println(cj.getInt("sid")+" "+cj.getString("sname")
+" "+cj.getDouble("sprice")+" "+cj.getString("sdesc"));
}
//在使用完接口资源后,一定要关闭资源
cj.close();
stat.close();
con.close();
}
}