JavaWeb-初识JDBC

这篇具有很好参考价值的文章主要介绍了JavaWeb-初识JDBC。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. JDBC简介
2. JDBC项目
3. JDBC的导入
4. JDBC的使用

内容

JDBC简介

  1. 什么是JDBC
    JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询、更新和删除等操作。

2.什么是mysql-connector-java
mysql-connector-java 是MySQL的JDBC驱动包,用JDBC连接MySQL数据库时必须使用该jar包。

JDBC项目

  1. 打开IDEA新建项目,填写项目名,选择项目路径
    JavaWeb-初识JDBC

  2. 按照Java代码书写规范创建一个包并创建一个类
    JavaWeb-初识JDBC

JDBC的导入

  1. 下载JDBC(MySQL版)
    JavaWeb-初识JDBC

  2. 跳转至版本选择页面
    JavaWeb-初识JDBC

  3. 选择版本下载
    JavaWeb-初识JDBC

  4. 解压mysql-connector-java-8.0.25.zip,生成mysql-connector-java-8.0.25
    JavaWeb-初识JDBC

  5. 在JDBC项目所在目录下创建lib文件夹
    JavaWeb-初识JDBC

  6. 打开mysql-connector-java-8.0.25目录,复制mysql-connector-java-8.0.25.jar
    JavaWeb-初识JDBC

  7. 把mysql-connector-java-8.0.25.jar粘贴到lib目录下
    JavaWeb-初识JDBC

  8. 打开项目,点击File->Project Structure
    JavaWeb-初识JDBC

  9. 点击Libraries -> + ->Java
    JavaWeb-初识JDBC

  10. 选择lib目录下的mysql-connector-java-8.0.25.jar
    JavaWeb-初识JDBC

  11. 点击ok
    JavaWeb-初识JDBC

  12. 点击ok
    JavaWeb-初识JDBC

  13. 查看mysql-connector-java-8.0.25.jar是否导入成功
    JavaWeb-初识JDBC

JDBC的使用

  1. 必须提前安装MySQL并且MySQL可用
  2. 加载MySQL驱动程序
package com.example.aji;

public class Main {
    public static void main(String[] args) {
        try {
            //加载MySQL驱动程序
            Class.forName("com.mysql.cj.jdbc.Driver");
        }catch (Exception e){
            e.printStackTrace();
        }
        //打印出Hello world!表名驱动程序加载成功
        System.out.println("Hello world!");
    }
}
  1. DriverManager类
    管理一组JDBC驱动程序的基本服务。一些常用方法:

    • getConnection​(String url, String user, String password)
      尝试建立与给定数据库URL的连接。
    package com.example.aji;
    
    import java.sql.DriverManager;
    
    public class Main {
        public static void main(String[] args) {
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                //mysql数据库相关信息
                String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
                String user="root";
                String password="123456789";
                DriverManager.getConnection(url,user,password);
            }catch (Exception e){
                e.printStackTrace();
            }
            System.out.println("Hello world!");
        }
    }
    
  2. Connection类
    Connection与特定数据库的连接(会话)。 执行SQL语句并在连接的上下文中返回结果。Connection对象的数据库能够提供描述其表,其支持的SQL语法,其存储过程,此连接的功能等的信息。 一些常用方法:

    • close()
      立即释放此 Connection对象的数据库和JDBC资源,而不是等待它们自动释放。

    • createStatement()
      创建一个 Statement对象,用于将SQL语句发送到数据库。

    package com.example.aji;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    
    public class Main {
        public static void main(String[] args) {
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                //mysql数据库相关信息
                String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
                String user="root";
                String password="123456789";
                Connection connection = DriverManager.getConnection(url,user,password);
                connection.close();
            }catch (Exception e){
                e.printStackTrace();
            }
            System.out.println("Hello world!");
        }
    }
    
    • 更多
  3. Statement类
    用于执行静态SQL语句并返回其生成的结果的对象。一些常用方法:

    • close()
      立即释放此 Statement对象的数据库和JDBC资源,而不是等待它自动关闭时发生。

    • executeUpdate​(String sql)
      执行给定的SQL语句,这可能是 INSERT , UPDATE ,或 DELETE语句,或者不返回任何内容,如SQL DDL语句的SQL语句。

    package com.example.aji;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    
    public class Main {
        public static void main(String[] args) {
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                //mysql数据库相关信息
                String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
                String user="root";
                String password="123456789";
                Connection connection = DriverManager.getConnection(url,user,password);
                Statement statement = connection.createStatement();
                String updateSql="CREATE TABLE `t_person` (\n" +
                        "  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',\n" +
                        "  `name` varchar(30) NOT NULL COMMENT '姓名',\n" +
                        "  `birthdate` datetime NOT NULL COMMENT '出生日期',\n" +
                        "  PRIMARY KEY (`id`)\n" +
                        ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
                int result = statement.executeUpdate(updateSql);
                System.out.println(result);
                String insertSql="insert into t_person(name,birthdate) values('aji',now()),('aji',now())";
                result = statement.executeUpdate(insertSql);
                System.out.println(result);
                statement.close();
                connection.close();
            }catch (Exception e){
                e.printStackTrace();
            }
            System.out.println("Hello world!");
        }
    }
    
    • executeQuery​(String sql)
      执行给定的SQL语句,该语句返回单个 ResultSet对象。
    package com.example.aji;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    
    public class Main {
        public static void main(String[] args) {
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                //mysql数据库相关信息
                String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
                String user="root";
                String password="123456789";
                Connection connection = DriverManager.getConnection(url,user,password);
                Statement statement = connection.createStatement();
                String querySql="select * from t_person";
                ResultSet resultSet = statement.executeQuery(querySql);
                //打印查询结果
                while (resultSet.next()) {
                    System.out.print(resultSet.getInt("id"));
                    System.out.print(resultSet.getString("name"));
                    System.out.println(resultSet.getDate("birthdate"));
                }
                resultSet.close();
                statement.close();
                connection.close();
            }catch (Exception e){
                e.printStackTrace();
            }
            System.out.println("Hello world!");
        }
    }
    
    • execute​(String sql)
      执行给定的SQL语句并返回boolean值
    package com.example.aji;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    
    public class Main {
        public static void main(String[] args) {
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                //mysql数据库相关信息
                String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
                String user="root";
                String password="123456789";
                Connection connection = DriverManager.getConnection(url,user,password);
                Statement statement = connection.createStatement();
                String querySql="select * from t_person";
                ResultSet resultSet = statement.executeQuery(querySql);
                boolean execute = statement.execute(querySql);
                //打印查询结果
                System.out.println(execute);
                resultSet.close();
                statement.close();
                connection.close();
            }catch (Exception e){
                e.printStackTrace();
            }
            System.out.println("Hello world!");
        }
    }
    
    • 更多
  4. ResultSet类
    表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。一些常用方法:

    • close()
      立即释放此 Statement对象的数据库和JDBC资源,而不是等待它自动关闭时发生。

    • next()
      将光标从当前位置向前移动一行。文章来源地址https://www.toymoban.com/news/detail-711623.html

    package com.example.aji;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    
    public class Main {
        public static void main(String[] args) {
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                //mysql数据库相关信息
                String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
                String user="root";
                String password="123456789";
                Connection connection = DriverManager.getConnection(url,user,password);
                Statement statement = connection.createStatement();
                String querySql="select * from t_person";
                ResultSet resultSet = statement.executeQuery(querySql);
                boolean execute = statement.execute(querySql);
                //打印查询结果
                System.out.println(execute);
                resultSet.close();
                statement.close();
                connection.close();
            }catch (Exception e){
                e.printStackTrace();
            }
            System.out.println("Hello world!");
        }
    }
    
    • getInt​(String columnLabel)
      以Java编程语言中 int此 ResultSet对象的当前行中指定列的值。
    package com.example.aji;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    
    public class Main {
        public static void main(String[] args) {
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                //mysql数据库相关信息
                String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
                String user="root";
                String password="123456789";
                Connection connection = DriverManager.getConnection(url,user,password);
                Statement statement = connection.createStatement();
                String querySql="select * from t_person";
                ResultSet resultSet = statement.executeQuery(querySql);
                boolean execute = statement.execute(querySql);
                //打印查询结果
                System.out.println(execute);
                resultSet.close();
                statement.close();
                connection.close();
            }catch (Exception e){
                e.printStackTrace();
            }
            System.out.println("Hello world!");
        }
    }
    
    • 更多

到了这里,关于JavaWeb-初识JDBC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序导入项目报错:在项目根目录未找到app.json

    1.首先确定是不是导入到项目的上层目录了。 比如导入的文件是这样的:wechatsmallcourse... smallcourse里面就是app,json等项目文件,导入项目需要选择smallcourse文件夹,而不是wechat文件夹   2. 确保第一步正确,如果报下面的错: : 则照提示,打开project.config.json 把\\\"miniprogramRoot\\\": 

    2024年02月11日
    浏览(34)
  • vue-cli创建项目、vue项目目录结(运行vue项目)、ES6导入导出语法、vue项目编写规范

    1 vue-cli创建项目 1.1 vue-cli 命令行创建项目 1.2 使用vue-cli-ui创建 2 vue项目目录结构 2.1 运行vue项目 2.2 vue项目的目录结构 3 es6导入导出语法 4 vue项目编写规范 4.1 修改项目 4.2 以后写vue项目,只需要在固定位置写固定代码即可 App.vue HomeView.vue AboutView.vue

    2024年02月07日
    浏览(65)
  • React Dva项目中.roadhogrc.mock.js直接自动导入mock目录下所有文件方式

    上文 React Dva项目中模仿网络请求数据方法 中,我们书写了Dva项目模拟后端数据的方式 但是 我们.roadhogrc.mock.js中的这个处理其实并不好用 我们还需要一个一个的引入 我们可以直接靠一段代码 这就是一个读流的方式 获取mock目录下的所以文件 然后找出后缀为 .js的文件 全部弄

    2024年02月15日
    浏览(24)
  • 【团队协作开发】将Gitee项目导入到本地IDEA中出现根目录不完整的问题解决(已解决)

    前言:在团队协作开发过程中,通常我们的Gitee完整项目中会包含很多内容:后端代码、前端代码、项目结构图、项目文档等一系列资产。 将Gitee项目导入到本地IDEA中,通常会出现根目录不完整的问题。这是因为项目里面包含了后端代码、前端代码、项目结构图、项目文档等

    2024年02月16日
    浏览(46)
  • JavaWeb-初识JDBC

    1. JDBC简介 2. JDBC项目 3. JDBC的导入 4. JDBC的使用 什么是JDBC JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询、更新和删除等操作。 2.什么是mysql-connector-java

    2024年02月08日
    浏览(32)
  • Javaweb | 初识、servlet应用

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! HTTP协议 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出

    2023年04月16日
    浏览(25)
  • JavaWeb-初识Maven

    1. Maven简介 2. Maven下载安装 3. Maven项目创建 4. Maven项目导入依赖 Maven是什么 Maven 是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目

    2024年02月08日
    浏览(26)
  • JavaWeb-初识Spring

    Spring简介 Spring项目 Bean管理 基于xml的Bean管理 创建对象 属性注入 基于xml+注解的Bean管理 创建对象 属性注入 基于纯注解的Bean管理 Spring是什么 Spring是于2003 年兴起的一个轻量级的Java的开放源代码的设计层面框架。Spring解决的是业务逻辑层和其他各层的松耦合问题,因此它将面

    2024年02月08日
    浏览(32)
  • JavaWeb-初识Servlet

    1. Servlet简介 2. Tomcat安装配置 3. Servlet项目搭建 4. Servlet项目运行 Servlet是什么 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet 可以收集来自网页表单的用户

    2024年02月08日
    浏览(27)
  • JavaWeb-学习目录

    技术栈介绍 1.数据库: 1.1 Mysql mysql:https://blog.csdn.net/meini32/article/details/131945074 mysql介绍 sql分类 增删改查sql语句 1.2 JDBC JDBC:https://blog.csdn.net/meini32/article/details/132050272 JDBC案例:https://blog.csdn.net/meini32/article/details/131981238 SQL注入避免:https://blog.csdn.net/meini32/article/details/132046

    2024年02月11日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包