[MySql]JDBC编程

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

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

目录

JDBC的使用:

1.下载驱动包,并添加到项目当中  

2.编程语句

2.1创建数据源

2.2与数据库建立连接

2.3构造sql语句

2.4执行sql语句

2.5释放资源

3.完整代码


JDBC的使用:

1.下载驱动包,并添加到项目当中  

驱动包下载地址:Maven Repository: mysql » mysql-connector-java (mvnrepository.com)

下载jar包 

[MySql]JDBC编程,mysql,数据库  

按照MySql版本下载成功后,添加到对应要使用的项目当中.

对项目进行右键,创建一个新的文件夹(文件名随意)

[MySql]JDBC编程,mysql,数据库

下载完成的mysql驱动包右键选择复制,再对刚刚创建完成的文件夹Ctrl  + v.

[MySql]JDBC编程,mysql,数据库

 点击OK即可

右键添加驱动包的文件夹,选择Add as Library(让IDEA知道,这个文件夹作为存放库文件)

[MySql]JDBC编程,mysql,数据库

 现在就正式的完成了对驱动包的添加

2.编程语句

2.1创建数据源

DataSource是一个接口,为我们指明了数据库服务的位置

这一步我们要做的,主要是创建一个MysqlDataSource对象,并用DataSource类型来接收

MysqlDataSource是DataSource的一个子类,我们使用了向上转型主要是为了减少其耦合性,方便日后更换其他驱动包.

setURL/setUrl()方法:

        URL是唯一资源定位符,用来在网络上描述资源的位置.

 jdbc:mysql://127.0.0.1:3306/test1?characterEncoding=utf8&useSSL=false

URL的类型/用途,此处为Mysql进行服务

这个位置要存放的是数据库所在的设备的IP,而127.0.0.1为环回地址,指代自己的主机,即数据库与JAVA代码在用一台设备

端口号,用来区分主机上的进程

访问的数据库的名称,即打开Mysql后use 数据库名的那个.

统一字符集为utf8

数据库与客户端之间的通信与否

 setUser()方法:

        用来放置要登录的数据库账户的用户名

setPassword()方法:

        放置登录账号的密码

DataSource dataSource = new MysqlDataSource();//创建一个datasource对象
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test1?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("111111");

2.2与数据库建立连接

Connection connection = dataSource.getConnection();

要选择java.sql的Connection接口,并抛出相应的异常

[MySql]JDBC编程,mysql,数据库

public static void main(String[] args) throws SQLException{}

2.3构造sql语句

String sql = ""; // 写出一个mysql语句

PreparedStatement statement = connection.prepareStatement(sql);
//对mysql语句进行预处理,验证mysql语句是否符合语法要求,能减轻mysql服务器的负担

也可以使用

Statement statement = connection.createStatement();//不进行处理,传输到mysql服务器上

方法一:

String sql = "insert into employee values('xiaoming','111','male')";
PreparedStatement statement = connection.prepareStatement(sql);

方法二:

Scanner scanner = new Scanner(System.in);
        String name = scanner.next();
        String id = scanner.next();
        String sex = scanner.next();

String sql = "insert into employee values(" + name + ", " + id + ", " + sex + ", " + ")";
PreparedStatement statement = connection.prepareStatement(sql);

方法三:(推荐)

使用占位符来替换,能够有效的避免出现SQL的注入攻击,也会更严格的进行校验语句是否正确

Scanner scanner = new Scanner(System.in);
        String name = scanner.next();
        String id = scanner.next();
        String sex = scanner.next();

String sql = "insert into employee values(?,?,?)";

        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1,name);//替换第一个占位符
        statement.setString(2,id);//替换第二个占位符
        statement.setString(3,sex);//替换第三个占位符

2.4执行sql语句

int n = statement.executeUpdate();//对于数据库的增,删,改可以使用此语句
//使用一个整数来接受返回值,含义为对于数据库所影响的数据行数
ResultSet resultSet = preparedStatement.executeQuery();//对于查询sql语句使用
//并使用ResultSet来接收返回值,含义为select得到的所有数据行

while(resultSet.next()){//每一次while循环以一行数据为单位,直到所有都打印完
    String name = resultSet.getString("name");
    String id = resultSet.getString("id");
    String sex = resultSet.getString("sex");
    System.out.println(name + " " + id + " " + " " + sex);
}

2.5释放资源

使用了什么就释放什么,并按照相反的使用顺序文章来源地址https://www.toymoban.com/news/detail-583951.html

resultSet.close();//只有查询语句并使用了ResultSet来接收executeQuery()才需要释放
preparedStatement.close();//释放预处理
connection.close();//释放连接

3.完整代码

增添,删除和更新数据的语句格式很类似,只有sql语句的区别
public static void main(String[] args) throws SQLException {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.next();
        String id = scanner.next();
        String sex = scanner.next();
        //创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test1?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("021228");
        //和数据库建立连接
        Connection connection = dataSource.getConnection();
        //构造sql语句
        String sql = "insert into employee values(?,?,?)";

        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1,name);
        statement.setString(2,id);
        statement.setString(3,sex);
        System.out.println(statement);
        //执行sql语句
        int n = statement.executeUpdate();
        //释放资源,关闭连接
        statement.close();
        connection.close();
    }
查询数据
public static void main(String[] args) throws SQLException {
        //创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test1?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("021228");
        //建立连接
        Connection connection = dataSource.getConnection();
        //构造sql语句
        String sql = "select * from employee";
        //预处理sql语句
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        System.out.println(sql);
        //执行sql语句
        ResultSet resultSet = preparedStatement.executeQuery();
        while(resultSet.next()){//每一次while循环以一行数据为单位
            String name = resultSet.getString("name");
            String id = resultSet.getString("id");
            String sex = resultSet.getString("sex");
            System.out.println(name + " " + id + " " + " " + sex);
        }
        //释放资源
        resultSet.close();
        preparedStatement.close();
        connection.close();
    }

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

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

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

相关文章

  • MySQL数据库,JDBC连接数据库操作流程详细介绍

    在学完 MySQL 和 Java 后,我们通常会尝试使用 Java编译器 连接 MySQL数据库,从而达到使用编译器来操作数据库的效果。连接的这个过程会用 JDBC 相关知识,因此我把 JDBC 包的下载及导入流程,以及 JDBC 的使用流程整理下来分享给大家。 目录 1. 啥是JDBC? 2. JDBC依赖包 2.1 依赖包

    2024年02月06日
    浏览(78)
  • 【JDBC】Java连接MySQL数据库

    数据库编程指的是通过编程语言与数据库进行交互和操作的过程,包括使用编程语言创建、连接、查询、更新和删除数据库中的数据,以及管理数据库结构和其他相关工作等。 另外,不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提供了Java的驱动包

    2024年02月15日
    浏览(41)
  • Java基础 - JDBC操作数据库(MySql)

    JDBC是Java语言操作数据库的一套接口,也就是规范,具体的实现需要各个数据库厂商去实现。比如我们在使用JDBC去连接mySql数据库的时候,我们必须要依赖一个叫做mysql-connector-java的jar包,这里面封装的就是mySql对于JDBC的实现。 Java中使用JDBC 首先引入mysql-connector-java依赖,比如

    2024年01月25日
    浏览(43)
  • JDBC连接数据库----Mysql七大步骤详解

             1、什么是jdbc?         JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发者能够编

    2023年04月12日
    浏览(72)
  • MySQL | JDBC连接数据库详细教程【全程干货】

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

    2024年02月06日
    浏览(54)
  • 记录JDBC连接MySQL数据库时遇到的问题

    记录使用 JDBC连接数据库的时候遇到的问题 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 可以参考这篇 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 博主总结的很全,就不赘述了~ com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the

    2024年02月10日
    浏览(44)
  • Java-JDBC建立数据库连接(MySQL)

    注意:连接数据需要先在JAVA中导入mysql的jar包。 1.1—下载JAR包 1、打开浏览器搜索MySQL,进入官网 2、点击DOWNLOADS    3、点击 MySQL Community (GPL) Downloads  4、点击Connector/J 5、点击Archieve 6、选择版本,和OS,然后点击下载即可。          版本号 下载地址 8.0.32 https://download

    2024年02月03日
    浏览(50)
  • Java连接mysql数据库方法及代码(jdbc)

    编译器使用IDEA 我的相关博客: java代码程序中连接mysql数据库的方法及代码 mysql数据库并发上锁问题,java代码 1.首先从mysql官网下载mysql-connector-java.jar包到本地。 这里注意要和你本地的mysql数据库版本相匹配! 下载相应的压缩包,在本地解压即可进行下一步操作。 2.打开自己

    2024年02月08日
    浏览(48)
  • [Java Web]JDBC->Java操作MySQL数据库

    目录 1、简介 1.1、背景 1.2、概念 1.3、驱动程序 2、JDBC的优点 3、使用步骤 3.1、操作流程 3.2、代码步骤 3.3、实例演示 3.3.1、创建空工程 3.3.2、指定项目的名称以及存放路径 3.3.3、设置项目的JDK版本和编译版本 3.3.4、创建模块 3.3.5、⭐导入MySQL驱动包 3.3.6、⭐创建Java类 4、API详

    2024年02月03日
    浏览(49)
  • java代码实现,利用JDBC接口-连接Mysql数据库

    1、JDBC本质上是一个接口,也就是java语言操作数据库的一套API(应用程序编程接口), 接口就规则,也就是sun公司创建了一个jdbc接口,各个sql(数据库管理系统)去实现接口提供jar包。其优点JDBC不是指单一操作某一个数据库。各个厂商使用相同的接口。不同的sql厂家实现

    2024年02月09日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包