当前位置: 首页 > news >正文

JDBC入门

什么是JDBC

    JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。

使用JDBC

    使用JDBC会用到它的核心类:DriverManager、Connection、Statement,和ResultSet。步骤为:

1.导入驱动
2.加载驱动类
3.得到Connent连接对象
4.编写sql
5.创建Statement对象
6.通知数据库执行sql
7.如果为查询会得到ResultSet结果集,解析数据
8.关闭资源

首先要导入jdbc的jar包:

 

然后加载驱动类:

//加载驱动类
Class.forName("com.mysql.jdbc.Driver");

直接在包下复制Driver的引用地址。 

接下来就是得到Connection的连接对象:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/esa?useSSL=false", "root", "123456");

getConnection方法里面的参数为数据库地址,用户名,密码。

然后编写sql语句,这里以插入为例子:

String sql = "insert into demo values('赵六','语文','88')";

创建Statement对象

Statement statement = conn.createStatement();

通知数据库执行sql

boolean a = statement.execute(sql);


完整代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {public static void main(String[] args) {try {Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/esa?useSSL=false", "root", "123456");System.out.println("数据库连接成功");String sql = "insert into demo values('赵六','语文','88')";Statement statement = conn.createStatement();boolean a = statement.execute(sql);if (statement != null){statement.close();}if (conn != null){conn.close();}} catch (ClassNotFoundException e) {throw new RuntimeException(e);} catch (SQLException e) {throw new RuntimeException(e);}}
}

 这是执行之前的表

 

执行后


Statement最为重要的方法是:

  1. int executeUpdate(String sql):执行更新操作,即执行insert、update、delete语句,其实这个方法也可以执行create table、alter table,以及drop table等语句,但我们很少会使用JDBC来执行这些语句;

  2. ResultSet executeQuery(String sql):执行查询select操作,执行查询操作会返回ResultSet,即结果集。

  3. boolean execute() 了解!可以执行executeUpdate()和executeQuery()两个方法能执行的sql语句,这个方法可以用来执行增、删、改、查所有SQL语句。该方法返回的是boolean类型,表示SQL语句是否有结果集!。如果使用execute()方法执行的是更新语句,那么还要调用int getUpdateCount()来获取insert、update、delete语句所影响的行数。如果使用execute()方法执行的是查询语句,那么还要调用ResultSet getResultSet()来获取select语句的查询结果。

 上面用的是execute(),返回一个false表示这个语句没有结果集。对于增删改的语句,推荐用executeUpdate(),返回影响的行数。查询语句推荐用executeQuery(),返回一个ResultSet结果集。

如果是查询,对于返回的结果集,需要使用循环赖获取里面的值:

String sql = "select * from demo1 where name = '"+name+"'  ";statement = conn.createStatement();resultSet = statement.executeQuery(sql);while (resultSet.next()){String name1 = resultSet.getString("name");String course = resultSet.getString("course");String score = resultSet.getString("score");System.out.println(name1+" "+course+" "+score);}

 


http://www.mrgr.cn/news/68260.html

相关文章:

  • uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
  • 第08章 排序ORDER BY
  • linux基础知识
  • idea database连接数据库后看不到表解决方法、格式化sql快捷键
  • mysql数据库(三)表的完整性约束、表与表的关系
  • 算法每日双题精讲——双指针(移动零,复写零)
  • 前端 Canvas 绘画 总结
  • Hive简介 | 体系结构
  • 【AIGC探索】AI实现PPT生产全流程
  • unplugin-auto-import 库作用
  • Excel和微软小冰的结合应用
  • (62)使用RLS自适应滤波器进行系统辨识的MATLAB仿真
  • 220亿巨资注入,农业强国梦想加速启航!
  • 小张求职记六
  • 【云原生开发】K8S集群管理后端开发设计与实现
  • 员工培训对六西格玛管理的落地有哪些帮助?
  • 每日八股——java中的注解原理是什么?
  • C++网络编程之IO多路复用(二)
  • 中阳智能模型的量化投资创新及前景
  • 解决windows server 2016 安装IIS失败问题
  • 【Linux系统编程】第四十三弹---多线程编程指南:线程终止方式与C++11中的thread
  • Vue3+element-plus摘要
  • 全局池化(Global Pooling)
  • css基础:底部固定,导航栏浮动在顶部
  • MyBatis项目的创建和增删查改操作
  • Python中的多线程效率分析