提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
JDBC的简单实现(idea)
前言
jdbc的简单实现
提示:以下是本篇文章正文内容,下面案例可供参考
一、JDBC是什么?
JDBC(JavaDataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。
本质:本质是sun公司制定的一套接口,在Java.sql包下,可以提高扩展力,解耦合等等
二、使用步骤
1.idea配置jar
导入的jar最好要与你的mysql版本相同,否则可能会出现版本不匹配异常
MySQLjar安装地址
https://downloads.mysql.com/archives/c-j/
2.jdbc的简单实现(六大步骤)
第一:注册驱动
作用:告诉Java程序,即将连接的是哪个品牌的数据库
第二:获取连接(表示jvm的进程和数据库之间的)
表示jvm的进程和数据库之间的通道打开了,这属于进程之间的通信,重量级的,使用完一定要关闭
第三:获取数据库操作对象
专门执行sql语句的对象
第四:执行sql语句(DQL丶DML)
第五:处理数据结果集
只有第四步执行的select语句的时候,才有第五步处理查询结果集
第六:释放资源
Java和数据库属于进程之间的通信,开启一定要关闭
3.代码实现
package com.demo.yu;
import java.sql.*;
public class JDBCLinkTest {
//JDBC连接测试
public static void main(String[] args) {
Connection conn=null;//连接对象
//Statement sta=null;//数据库操作对象
PreparedStatement ps=null;//预编译数据库操作对象
ResultSet set=null;//结果集对象
try {
//第一:注册驱动
//Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.cj.jdbc.Driver");//8.0后的版本要加在jdbc前加cj
//第二:获取连接(jdbclink为创建的数据库)填入数据库账号密码
conn= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbclink","root","123456");
//第三:获取数据库操作对象
//sta=conn.createStatement();
//sql语句框中.其中一个? 表示一个占位符一个? 将来接收一个"值" 占位符不能用单引号括起来
String xs="select *from student where name=?";
ps=conn.prepareStatement(xs);
//给占位符数据传值(第一个问好下标是1,第二个是2,jdbc都是从1开始)
ps.setString(1,"张三");
//第四:执行sql语句
//String s="select *from student";
set=ps.executeQuery();
//第五:获取查询结果集
while (set.next()){//set.next()方法为判断结果集中此行是否有数据,有则返回true
String x=set.getString(1);//取得结果集中第一列的数据
String y=set.getString(2);//取得结果集中第二列的数据
String n=set.getString("name");//也可以填列名(使用列名健壮性更强)
System.out.println(x+","+y+","+n);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
}finally {
//第六:释放资源
if (set != null) {
try {
set.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
}
4. Statement和PraparedStatement的区别
前者可以使用关键字后者不行
后者可以进行安全检查,并且可以防止sql注入问题
总结
jdbc的实现就是以上这六步,特别注意8.0以上的mysql要加cj



