首页 > 数据库 >java 17 原生操作 mysql 5.7

java 17 原生操作 mysql 5.7

时间:2023-12-25 18:23:46浏览次数:33  
标签:java 17 5.7 rs mysql catch import conn

环境:

  • JDK: 17
  • mysql: 5.7

和数据库打交道,在项目开发中是在所难免的。今天简单学习下在 java 中 原生操作 MySQL,demo通过 maven做依赖管理。

依赖

在新建 maven 项目后,加入依赖:

<dependencies>
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>8.1.0</version>
    </dependency>
</dependencies>

添加依赖时要注意,我们上面的依赖是新的包名。

配置文件

在我们的配置文件中声明需要注入的配置项:

url=jdbc:mysql://{ip}:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
username=root
password=123456

构建工具类

我们在工具类中,主要声明 创建连接和关闭连接 两项功能:

import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class Util {

    public static Connection getConn() {
        Connection conn = null;
        try {
            Properties properties = new Properties();
            try {
                InputStream in = Util.class.getClassLoader().getResourceAsStream("app.properties");
                properties.load(in);
            } catch (IOException e) {
                e.printStackTrace();
                System.out.println("未找到配置文件");
            }

            String url = properties.getProperty("url");
            String username = properties.getProperty("username");
            String password = properties.getProperty("password");
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = DriverManager.getConnection(url, username, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.out.println("驱动类找不到");
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("数据库连接失败");
        }

        return conn;
    }

    public static void close(Connection conn, Statement stm, ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (stm != null) {
            try {
                stm.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

测试查询

在有了工具类后,就通过简单的查询操作:

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class testSqlSelect {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stm = null;
        ResultSet rs = null;

        try {
            conn = Util.getConn();
            String sql = "SELECT * FROM user";
            stm = conn.createStatement();
            rs = stm.executeQuery(sql);
            System.out.println("查询结果:");

            while (rs.next()) {
                String name = rs.getString("name");
                System.out.println("Name:" + name);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            Util.close(conn, stm, rs);
        }

    }
}

测试结果

查询结果:
Name:Jack
Name:Tom

mysql表内容

image.png

参考:

标签:java,17,5.7,rs,mysql,catch,import,conn
From: https://www.cnblogs.com/davis12/p/17926711.html

相关文章

  • 启动springboot的测试类,报红:Java HotSpot(TM) 64-Bit Server VM warning: Sharing is
    启动springboot的测试类时,报红:JavaHotSpot(TM)64-BitServerVMwarning:Sharingisonlysupportedforbootloaderclassesbecausebootstrapclasspathhasbeenappended原因:JavaHotSpot(TM)64位服务器虚拟机已附加引导程序类路径解决办法:IDEA—》Settings—》Build......
  • 深度剖析 Spring 框架在 Java 应用开发中的优势与应用
    Spring是用于企业Java应用程序开发的最流行的应用程序开发框架。全球数百万开发人员使用SpringFramework创建高性能、易于测试和可重用的代码。SpringFramework是一个开源的Java平台。它最初由RodJohnson编写,并于2003年6月在Apache2.0许可下首次发布。为什......
  • 十七,JAVA IO 线程
    字符流:每次读写一个字符,只能操作文本文Reader:InputStreamReader是字节流通向字符流的桥梁Writer:OutputStreamWriter是字符流通向字节流的桥梁便捷流:FileReaderFileWriterFileReaderfileReader=newFileReader("file.txt");FileWriterfileWriter=......
  • java爬虫技术之Selenium爬虫
    前言Selenium爬虫是一种基于浏览器自动化的爬虫技术,可以模拟用户的操作行为,实现对动态网页的爬取。在一些情况下,为了绕过网站的反爬虫机制或者访问受限的网站,我们需要使用代理IP来进行爬取。本文将介绍如何使用Selenium爬虫结合代理IP进行网络爬取,并附带完整的代码实现。一、什么是......
  • Java多线程:深入理解Java中的死锁
    一、引言死锁是计算机科学中的一个重要概念,特别是在并发编程中。在Java中,死锁是指两个或更多的线程永久地等待对方释放资源的情况。当两个或更多的线程无限期地等待对方释放锁定的资源时,就会发生死锁。本文将通过示例和深入分析,探讨Java中的死锁问题。二、示例:银行家问题为了更好地......
  • 每日导数17
    很难的放缩:对数均值不等式已知函数\(f(x)=-2x-2\sinx+2m\lnx,m>0\)若存在\(f(x_1)=f(x_2)(x_1\neqx_2)\)\((1)\)判断\(2(x-\sinx)\)的单调性\((2)\)证明:\(x_1+x_2>1+\lnm\)解\((1)\)令\(g(x)=2(x-\sinx)\),\(g^{\prime}(x)=2-2\cosx>0\)从而其单调递增\((2)\......
  • Java中的泛型
    1.为什么要有泛型泛型可以理解为标签,比如药店里会在某一类药品处贴上标签方便寻找。定义:把元素的类型设计成一个参数,这个类型参数叫做泛型。比如List<String>这表明该List只能保存字符串类型的对象那么使用或不使用泛型有什么区别呢?看下面的代码@Testpublicvoidtest(){ArrayLis......
  • JAVA TSV文件的解析与生成
    TSV文件与CSV文件的区别TSV为用制表符tab分隔的文本文件。CSV为用逗号,分隔的文本文件。TSV文件的打开方式1.使用nodepad++等文本工具打开,使用记事本打开会导致某些行的格式错误。2.打开一个Excel,直接将tsv文件拖进去即可。JAVATSV文件的解析1.添加univocity-parsersjar包依赖 ......
  • JAVA异常处理及分类
    Java异常处理是一种机制,用于在程序执行过程中处理错误和异常情况。异常是指在程序运行时发生的不正常情况,可能导致程序的中断或错误输出。在Java中,异常是通过对象来表示的,它们属于java.lang包。异常处理的目标是在程序发生异常时,能够以一种有序的方式进行处理,防止程序因异常而......
  • Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL synta
    问题描述Causedby:java.sql.SQLSyntaxErrorException:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'orderwherestatus!='已完成''atline1问题解决最后发现时因为......