1.JDBC是什么?
Java DataBase Connectivity(Java语言连接数据库)
2.JDBC的本质是什么?
sun公司制定的一套接口(interface),面向接口、抽象编程
3.前期准备
3.1驱动jar包下载,下载完成后解压到某一文件夹
jar包下载教程https://blog.csdn.net/m0_55336071/article/details/120852741 3.2配置环境变量
配置教程https://www.cnblogs.com/lwt280887072/p/16138346.html 3.3纯文本编辑器需要配置,IDEA鼠标点点点就好了(笑死,方法上方链接有)
4.JDBC编程六步
4.1注册驱动
4.2获取连接(进程间连接)
4.3获取数据库操作对象(专门执行sql语句的对象)
4.4执行SQL语句
4.5处理查询结果集
4.6释放资源(关闭连接)
5.上代码
编译遇到问题的解决办法:
GBK编码问题https://blog.csdn.net/zhan_qian/article/details/125116208JDBC 错误解决 [com.mysql.jdbc不存在]
https://blog.csdn.net/Tikitian/article/details/120799086java命令报错——找不到或无法加载主类
https://blog.csdn.net/qq_56825025/article/details/123087463try中的局部变量在finally中是找不到的
https://blog.csdn.net/weixin_33699914/article/details/94091840Mysql:8.0;Java8;
import java.sql.Driver;//1
import java.sql.DriverManager;//1
import java.sql.SQLException;//catch捕获错误
import java.sql.Connection;//2.获取连接(进程间连接)
import java.sql.Statement;//3.获取数据库操作对象
public class exercise {
public static void main(String[] args) {
try{
//1.注册驱动,以下方式可以,或者import,导个包
Driver driver = new com.mysql.cj.jdbc.Driver();//多态,父类型引用指向子类型对象
DriverManager.registerDriver(driver);
//2.获取连接(进程间连接)
//ip,端口号,数据库名字
String url = "jdbc:mysql://127.0.0.1:3306/bookdb";
String user = "root";
String password = "123";
Connection coon = DriverManager.getConnection(url,user,password);
System.out.println("数据库连接对象 = "+ coon);
//3.获取数据库操作对象(专门执行sql语句的对象)
Statement stmt = coon.createStatement();
//4.执行SQL语句
String sql = "insert into type(id,name,parentId) values(15,'数据库',0)";
//专门执行DML语句的(insert delete update)
//返回值是“影响数据库中的记录条数”
int count = stmt.executeUpdate(sql);
System.out.println(count == 1 ? "sucess" :"error");//三元运算符
//处理查询结果集
//释放资源(关闭连接)
//为保证资源一定释放,在finally语句中关闭资源
//并且遵循从小到大依次关闭,子->父
//分别关闭,报错一一对应,分开踹
try {
if(stmt != null){
stmt.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if(coon != null){
coon.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}catch(SQLException e){
e.printStackTrace();
}finally{
/* try {
if(stmt != null){
stmt.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if(coon != null){
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}*/
}
}
}
咦!