IDEA使用JDBC导入配置jar包连接MySQL数据库

目录
  • jdbc编程简介
  • 1.导入jar包
  • 2.建立数据库连接
    • 2.1创建数据源描述数据库服务器在哪
    • 2.2实现一个mysql客户端通过网络和服务器进行通信
  • 3.使用代码操作数据库
    • 3.1增删改操作
    • 3.2查询操作
  • 4.断开连接释放资源

jdbc编程简介

JDBC,Java Database Connectivity ,java数据库连接.是一种执行SQL语句的API,是java中数据库连接规范,这个API由java.sql.*,javax.sql.*包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问

1.导入jar包

jar包下载地址:

https://mvnrepository.com/

1.输入地址->输入mysql搜素

2.点击第一个后选择版本

3.选择版本和本机mysql大版本相同的 jar包

4.点击下载jar包

5.创建lib包,导入jar包,直接cv

6.右击lib->点击Add as Library

此时就解析出了jar包中的内容,我们就可以进行对数据库据的编程了

2.建立数据库连接

和数据库建立连接时,需要用到数据库,首先创建一个数据库和一张表然后进行数据库连接

mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

jdbc编程时用到的资源,必须要导入jar包才能用

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.*;

2.1创建数据源描述数据库服务器在哪

使用 DataSource 描述 MySQL 服务器的位置.

DataSource dataSource = new MysqlDataSource();
    ((MysqlDataSource)dataSource).setUrl
    ("jdbc:mysql://127.0.0.1:3306/java_2?characterEncoding=utf8&useSSL=false");
    ((MysqlDataSource)dataSource).setUser("root");
    ((MysqlDataSource)dataSource).setPassword("123456");

url是唯一地址定位符,就是网址

127.0.0.1:数据库服务器所在的IP地址,这是个特殊的IP,表示主机自己,环回网址,相当于this. 只要数据库服务器和jdbc程序在一台电脑上都可以使用这个IP :3306是端口号,安装时默认的,使用IP确定了主机,网络数据报给那个程序是通过端口号来识别出数据库服务器的 java_2数据库名 characterEncoding=utf8字符编码方式 useSSL=false关闭加密功能

2.2实现一个mysql客户端通过网络和服务器进行通信

Connection connection = dataSource.getConnection();

要注意使用Java.sql的Connection

3.使用代码操作数据库

控制客户端给数据库发送请求,执行操作

3.1增删改操作

增删改和查询稍有不同~

增加操作

构造 SQL 语句. JDBC 操作数据库, 本质仍然是通过 SQL 来描述数据库操作

String sql = "insert into student values(001,'张三')";
PreparedStatement statement = connection.prepareStatement(sql);
int ret = statement.executeUpdate();
statement.close();
connection.close();

String sql 描述的是sql是什么样的

还需要一个特殊的类:

执行是靠PreparedStatement,它会对sql进行一些预处理,解析之类的,之前通过cmd输入的语句是发送给服务器端让服务器进行解析

当前数据是写死的,我们更希望是动态的

我们通过控制台输入一些信息,来操作数据库

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学号");
        int id = scanner.nextInt();
        System.out.println("请输入姓名");
        String name = scanner.next();
        String sql = "insert into student values(" + id + ",'" + name+ "')";
        PreparedStatement statement = connection.prepareStatement(sql);
        int ret = statement.executeUpdate();

但是这种操作还存在一个问题

这样的代码可读性很低,另一方面,这个代码还容易引起SQL注入攻击

如果输入这样的代码就会在插入的同时引起很多其他的问题

因此我们提出更靠谱的方案:通过占位符替换的方法输入操作信息

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学号");
        int id = scanner.nextInt();
        System.out.println("请输入姓名");
        String name = scanner.next();
        String sql = "insert into student values(?,?)";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2,name);
        int ret = statement.executeUpdate();

注意:这里的占位符下标是从1开始的!!

执行增加,删除,更新三个操作用executeUpdate执行,代码和增加的代码是相同的

执行查询操作使用executeQuery

更新操作

也是通过占位符来操作

Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学号");
        int id = scanner.nextInt();
        System.out.println("请输入修改的姓名");
        String name = scanner.next();
        String sql = "update student set name = ? where id = ? ";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1,name);
        statement.setInt(2,id);
        int ret = statement.executeUpdate();
statement.close();
connection.close();

数据库中的结果:

mysql> select*from student;
+------+------+
| id   | name |
+------+------+
|    1 | 张三 |
|    2 | 李四 |
|    3 | 王五 |
|    5 | 赵六 |
+------+------+
4 rows in set (0.00 sec)
更新后:
mysql> select*from student;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 张三   |
|    2 | 李四   |
|    3 | wangqi |
|    5 | 赵六   |
+------+--------+
4 rows in set (0.00 sec)

删除操作

Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要删除的学号");
        int id = scanner.nextInt();

        String sql = "delete from student where id = ? ";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        int ret = statement.executeUpdate();
statement.close();
        connection.close();

结果:

mysql>  select*from student;
+------+------+
| id   | name |
+------+------+
|    1 | 张三 |
|    2 | 李四 |
|    5 | 赵六 |
+------+------+
3 rows in set (0.00 sec)

三个操作的代码是相同的

执行时给服务器发送网络请求

int ret = statement.executeUpdate();

ret返回的是一个整数,表示执行的结果影响到了多少行

3.2查询操作

查询操作用到的是

ResultSet ret = statement.executeQuery();

与上面三个操作不同的是:

executeUpdate 只能返回一个 int.

executeQuery 返回的是一个 ResultSet 对象. 可以把这个对象视为是一个 "临时表"

增删改返回的是影响的行数,只返回一个整数

查询的结果集合是一张表,因此比其它几个操作多一个遍历,遍历后才能看到结果

String sql = "select*from student";
        PreparedStatement statement = connection.prepareStatement(sql);
        ResultSet ret = statement.executeQuery();
        //遍历临时表, 拿到里面的数据.
        //    resultSet 简单的当成一个类似于 "迭代器"
        //    next 如果没有到达末尾, 就是返回 true, 要继续循环.
        //    next 如果到达末尾, 就返回 false, 结束循环.
        while(ret.next()) {
            int id = ret.getInt("id");
            String name = ret.getString("name");
            System.out.println("id: "+id+" name: "+name);
        }
        ret.close();
        statement.close();
        connection.close();

获取哪一列,就用getXXX方法 ,XXX为列的类型

结果:

4.断开连接释放资源

java有GC即垃圾回收机制,会自动处理申请的内存,但是像这种连接的资源还需要我们手动释放

资源的释放顺序是和创建顺序相反的

释放的顺序:先用到的资源后释放

ret.close();
statement.close();
connection.close();

到此这篇关于IDEA使用JDBC导入配置jar包连接MySQL数据库的文章就介绍到这了,更多相关JDBC连接MySQL数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JDBC下Idea添加mysql-jar包的详细过程

    目录 添加jar包 官网下载jar包 idea导入jar包: 检查 添加jar包 官网下载jar包idea导入jar包:检查 官网下载jar包 官网地址:MySQL :: Download Connector/J 下载完之后解压: 打开文件夹,直到见到我们需要的jar包: idea导入jar包: 我们复制刚才下载好的jar包,复制到idea中事先创建好的lib文件夹中: 鼠标右键单击 jar包所在的lib文件夹,选择 Add as Library…,将lib作为一个库添加进来: 弹出窗口后,点击

  • JDBC-idea导入mysql连接java的jar包(mac)的方法

    前言 1.本文使用的是mysql8.0版本 与5.0版本相比:导包方式相同,后面代码中的注册驱动方式不同 1.mac与pc的idea菜单和图标不是完全相同,但是步骤是差不多的 下载对应版本的jar包 mysql 8.0 jar包下载 点击上面链接,到官网下载jar包 下载后解压即可得到该版本jar包 将jar包在本地放入单独一个文件夹 我将这个jar包放入myJAR文件夹,等下直接将这个文件夹导入idea. 这样做的好处是,以后再使用其它jar包时,直接放到这个文件夹就好,不需要再一个一个导入

  • IDEA使用JDBC导入配置jar包连接MySQL数据库

    目录 jdbc编程简介 1.导入jar包 2.建立数据库连接 2.1创建数据源描述数据库服务器在哪 2.2实现一个mysql客户端通过网络和服务器进行通信 3.使用代码操作数据库 3.1增删改操作 3.2查询操作 4.断开连接释放资源 jdbc编程简介 JDBC,Java Database Connectivity ,java数据库连接.是一种执行SQL语句的API,是java中数据库连接规范,这个API由java.sql.*,javax.sql.*包中的一些类和接口组成,它为Java开发人员操

  • IDEA使用JDBC安装配置jar包连接MySQL数据库

    一 .MySQL版本查询 1)登录mysql 首先Window+R ​然后在命令行里输入 mysql -u此处填你的mysql账号(注意要加-u) -p(此处是填写密码) 以我的为例 mysql -uroot -prota ​显示这样之后登录成功 2)查询版本号 select version(); mysql> select version();+-----------+| version() |+-----------+| 5.5.56    |+-----------+1 row in se

  • 使用IDEA配置Tomcat和连接MySQL数据库(JDBC)详细步骤

    IDEA配置Tomcat 1,点击Run-EDit Configurations- 2.点击左侧"+"号,找到Tomcat Server-Local(若是没有找到Tomcat Server 可以点击最后一行 34 items more) 3.在Tomcat Server -> local-> Server -> Application server项目下,点击 Configuration ,找到本地 Tomcat 服务器,再点击 OK按钮. 至此,IntelliJ I

  • Intellij Idea中批量导入第三方jar包的全过程

    目录 添加和导入的区别 具体步骤 1. 创建lib文件夹 2. 添加为Library 3. 添加Dependence 4. 检查是否引用成功 5. 继续添加jar包 总结 jar包就指第三方提供的开源的API,这些API不属于JDK的,需要通过导入才能使用. 添加和导入的区别 注意:本文里的 导入 和 添加 jar包是不同的含义. 导入:在代码中引用jar包. 添加:只是简单把jar包拷贝到项目中而没有引用,这时会报错. 所以我们的目标是导入,也就是能让我们的编译器找到jar包中的类. 具体步骤

  • android导入第三方jar包报错 如何正确导入jar包

    在android上导入zxing.jar包,总是报错: Could not find class 'com.google.zxing.MultiFormatWriter', referenced from method com.changyang.app.util.Encode2dUtil.creat2DCode 后来找到了解决方法: 在adt17 的版本之前,导入第三方jar包时要建立一个lib目录,并 add to buiild path. 在adt17的版本之后,导入第三方jar包,要建立

  • Lombok插件安装(IDEA)及配置jar包使用详解

    点击进入Lombok官网下载Lombok jar包 使用Lombok可能需要注意的地方 (1).当你的IDE是Idea时,要注意你的Idea是支持Lombok的,如果不支持请更换高版本尝试(这里采用2018 3.3). (2).在使用Lombok时,你的编辑器可能会报错,这时请在你的IDE中安装Lombok插件(如果使用的Idea则直接搜索Lombok插件,选择星级最高的,直接安装就是,其他Ide类同). (3).参数的处理往往都是根据项目需求来进行,请妥善处理参数. (4).如果你无法访问Lo

  • Maven导入本地jar包的实现步骤

    目录 1. 在本地maven仓库安装本地jar包 2.把本地jar包放在项目的某个目录中 3.使用scope system依赖 参考资料 软件项目管理和发布工具Maven给java的开发带来了很多的方便.需要引用其他jar包的时候只需要在pom.xml添加相关的依赖,maven就会自动解析依赖.下载jar包,更新jar包也只需要修改version字段,大大简化了jar包的引用.但是有时候我们要用的某几个包在maven上不存在,只能下载jar包到本地并添加到java项目中,然而问题随之而来:mav

  • java基于jdbc连接mysql数据库功能实例详解

    本文实例讲述了java基于jdbc连接mysql数据库的方法.分享给大家供大家参考,具体如下: 一.JDBC简介 Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法.JDBC也是Sun Microsystems的商标.它JDBC是面向关系型数据库的. 1.JDBC架构: JDBC API支持两层和三层处理模型进行数据库访问,但在一般的JDBC体系结构由

  • Java使用JDBC驱动连接MySQL数据库

    Java使用JDBC驱动连接MySQL数据库的步骤: 1.下载驱动,导入jar包 2.加载驱动 3.设置连接 连接成功后就是一些对数据库中数据的操作 1.下载驱动,导入jar包 当你看到jdbc目录下有相应的jar包说明第一步操作已经完成. 2.加载驱动 3.设置连接 import java.sql.Connection; import java.sql.DriverManager; public class DB_Helper { public static void main(String[

  • JDBC连接MySql数据库步骤 以及查询、插入、删除、更新等

    主要内容: JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十一个功能都放在一起. 安装下载的数据库驱动程序jar包,不同的数据库需要不同的驱动程序(这本该是第一步,但是由于属于安装类,所以我们放在最后) 一.JDBC连接数据库(编辑)步骤(主要有六个步骤) 1.注册驱动: Class.forName("com.mysql.jdbc.Driver");

随机推荐