JDBC入门
JDBC基本步骤
- 加载数据库驱动
- 获取连接对象
- 获取执行sql语句的执行对象
- 执行sql语句
- 处理结果
- 关闭资源
//1.加载数据库驱动
Class.forName("com.mysql.jdbc.Driver"); //新版驱动需在jdbc前面添加cj
//2.获取数据库连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//库名","用户名","用户密码");
//3.获取处理sql语句的对象
Statement stat = conn.createStatement();
//4.执行sql(当执行结果为resultset(执行select操作时)时返回值为true,其他任何时候都是false)
boolean f = stat.execute("sql语句");
//5.处理结果
Systen.out.println(f);
//6.关闭资源
stat.close();
conn.close();
JDBC常见的类与接口
- DriverManager
该类用于管理驱动的注册 - Connection
该接口是JDBC的核心接口,用于实现应用程序与数据库管理系统进行通信,该接口可以向数据库发送执行sql语句并返回到程序中,该接口为数据库与应用程序的一个会话接口
常用方法:- createStatement() :获取一个用于执行sql语句的执行对象,主要用于执行静态的sql(存在SQL注入风险)
- parepareStatement(String sql) :获取一个预处理sql语句的执行对象,预先对sql语句编译,一般用于执行动态sql(解决SQL注入风险)
- prepareCall(String sql):获取一个用于预处理sql存储过程的执行对象,主要用于执行存储过程(procedure)
- setAutoCommit(boolean b):设置事物是否自动提交
- commit():提交事务
- rollback():事物回滚
- getMetaData(): 获取数据库的元数据对象(DatabaseMetaData),包含了数据库的详细信息
- Statement与PreparedStatement
Statement:
该接口用于执行sql语句,拥有一些执行sql语句的方法
**常见的方法有:**
execute(String sql):用于执行任何的sql语句
executeQuery(String sql):主要用于执行sql查询(Select)操作
executeUpdate(String sql):主要用于执行sql更新(insert,update,delete)操作以及DDL操作
addBatch(String sql):用于将sql语句添加到当前Statement对象的命令列表中用于批量执行sql
executeBatch():用于将一批(多条sql)sql命令同时执行
getResultSet():获取执行当前SQL语句之后的结果集对象(ResultSet)
getGeneratedKeys():获取自动生成的键所在结果集
PreparedStatement:
该接口继承Statement接口,可以说是优化了一些功能;
ResultSet
结果集对象,用于表示对查询语句执行之后的结果,显示多条或者一条数据
常见方法:
-
boolean next():判断是否有下一个结果行
-
getXXX(int index):根据列索引获取列值
-
getXXX(String columnLabel):根据列标签(默认列名)获取值
-
ResultSetMetaData getMetaData():返回结果集的元数据
-
小总结:
基本jdbc主要内容为以上内容,当进入jdbc高级时,将上面这些代码进行封装,到时候使用仅需调用即可,以上jdbc主要代码以及步骤需多加练习并保证默写下来