java开发中JDBC编程步骤-Mysql
JDBC编程步骤
1.引入相关的包
- import java.sql.*;
2.加载驱动
- 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM
- 方法:实例化Driver类,成功后会自动将Driver的实例注册到DriverManager类中
- //例如mysql数据库
- Class.forName("com.mysql.jdbc.Driver"); 或者 new com.mysql.jdbc.Driver();
- 成功加载后,会将Driver类的实例注册到DriverManager类里
3.创建mysql数据库的连接
- 要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接
- 使用DriverManager的getConnectin(String url , String username ,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码
- 例如:String URL = "jdbc:mysql://localhost:3306/lovers?characterEncoding=utf8&useSSL=true";
- String USER = 用户名; String PASSWORD = 密码;
- Connection c = DriverManager.getConnection(URL,USER,PASSWORD);
4.创建sql语句来使用
- 创建java.sql.Statement实例,来创建sql语句的使用
- Statement(执行静态SQL语句)接口有两个子接口PreparedStatement(执行动态SQL语句),CallableStatement(执行数据库存储过程)
- Statement sm = con.createStatement() ;
- PreparedStatement pstmt = con.prepareStatement(sql) ;
- 例如:
pstatement = connection.prepareStatement("INSERT INTO lover VALUES (?,?)"); //预编译sql语句,相当于sql语句的参数模型 具体设置在后面 ?代表有几个参数
pstatement.setInt(index,values); //index为sql语句参数的位置,values为sql语句对应参数位置的值
pstatement.setInt(2,age); //表示sql语句第二个参数,值为变量age的值
pstatement.executeUpdate(); //最后执行sql语句
- 例如:
- CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
- Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute
- ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
- int executeUpdate(String sqlString):用于执行INSERT、UPDATE或 DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
- execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
5.处理结果
- 执行更新返回的是本次操作影响到的记录数。
- 执行查询返回的结果是一个ResultSet对象,ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问,使用结果集(ResultSet)对象的访问方法获取数据
-
while(rs.next()) {
System.out.println("id = "+rs.getInt("id")+"age = "+rs.getInt("age"));
}
-
6.关闭资源
- 操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反
- 例如:
try {
if(rs!=null) {rs.close();rs = null;}
if(sm!=null) {sm.close();sm = null;}
if(cc!=null) {cc.close();cc = null;}
} catch (SQLException e) {
e.printStackTrace();
}
7.附上图片一张



浙公网安备 33010602011771号