使用jdbc访问mysql数据库,java jdbc连接mysql数据库

本文目录一览:

如何使用jdbc连接mysql数据库

用Jdbc连接MySql服务器还是很方便的。

首先,将jdbc导入工程,或者将jdbc放到ClassPath里,这里我利用Eclipse直接导入jdbc jar文件,不罗嗦了。

然后,制定DriverManager,利用最简单的方法,Class类的froName直接完成,代码:

Class.forName(“com.mysql.jdbc.Driver”).newInstance();

然后,实例化一个链接Connection,注意用户名和密码,有几个方法可供选择,这里我用的是DirverManager类的getConnection(String url, String user, String password)方法。具体使用:DriverManager

例如:Connection conn=DriverManager.getConnection(“jdbc:mysql://localhost/mydatabase”, “root”, “1234”);

下一步,建立用于执行sql语句的Statement,这个容易,一行代码搞定:

Statement stat=conn.createStatement();

最后就可以利用stat实例执行sql语句了

如何实现JDBC连接mysql数据库

1.导入mysql数据库的驱动jar包

如我的导的是mysql-connector-java-5.1.40.jar

2.注册驱动

注册驱动代码为:Class.forName(“com.mysql.jdbc.Driver”)

3.获取连接

Connection con = DriverManager.getConnection(url,username,password)

其中url为 jdbc:mysql://localhost:3306/xun?useSSL=false,后面那个xun为数据库的库名,如果不使用加密的话,?useSSL=false这个其实也可以省略,省略后为jdbc:mysql://localhost:3306/xun,不过最好还是别省略哈。

4.获取PrepareStatement并发送sql查询语句

String sql = “select * from user where username = ?”(这个查询语句为随便举的例子哈)

PreparedStatement pst = con.preparedStatement(sql);

pst.setString(1,”zengjiaxun”);

ResultSet rs = pst.executeQuery();

注意,执行查询使用的是executeQuery()方法,此方法返回的是ResultSet,ResultSet为结果集,封装了查询结果。插入,删除,修改用的是executeUpdate()方法。

pst.clearParameters();

执行sql后记得关闭相应的流。。

怎样使用jdbc访问mysql数据库

JDBC连接MYSQL数据库:

package cn.outofmemory.test;

import java.sql.Connection;

import java.sql.DriverManager;

public class Mysql {

public static void main(String arg[]) {

try {

Connection con = null; //定义一个MYSQL链接对象

Class.forName(“com.mysql.jdbc.Driver”).newInstance(); //MYSQL驱动

con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); //链接本地MYSQL

System.out.print(“yes”);

} catch (Exception e) {

System.out.print(“MYSQL ERROR:” + e.getMessage());

}

}

}

Class.forName(“com.mysql.jdbc.Driver”).newInstance(); 我们链接的是MYSQL数据库,所以需要一个MYSQL的数据库驱动,如果你的环境中没有安装,

可以下载:mysql-connector-java-5.1.17-bin.jar JAR包,然后放进jdk1.6.0_37\jre\lib\ext 重启eclispe 就可以在JRE系统库中看到。

con = DriverManager.getConnection;(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); 是链接数据库的语句,

返回Connection con;对象。参数格式:(“jdbc:mysql://ip:端口/数据库名称”, 用户名,密码)

写入一条数据

package main;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class Mysql {

/**

* 入口函数

* @param arg

*/

public static void main(String arg[]) {

try {

Connection con = null; //定义一个MYSQL链接对象

Class.forName(“com.mysql.jdbc.Driver”).newInstance(); //MYSQL驱动

con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); //链接本地MYSQL

Statement stmt; //创建声明

stmt = con.createStatement();

//新增一条数据

stmt.executeUpdate(“INSERT INTO user (username, password) VALUES (‘init’, ‘123456’)”);

ResultSet res = stmt.executeQuery(“select LAST_INSERT_ID()”);

int ret_id;

if (res.next()) {

ret_id = res.getInt(1);

System.out.print(ret_id);

}

} catch (Exception e) {

System.out.print(“MYSQL ERROR:” + e.getMessage());

}

}

}

stmt.executeUpdate INSERT; DELETE; UPDATE;语句都用executeUpdate函数来操作

stmt.executeQuery SELECT;语句都用stmt.executeQuery函数来操作

ResultSet res = stmt.executeQuery;(“select LAST;_INSERT_ID()”);

查询最后插入数据的ID号,返回ResultSet res;对象

删除和更新数据

package main;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class Mysql {

/**

* 入口函数

* @param arg

*/

public static void main(String arg[]) {

try {

Connection con = null; //定义一个MYSQL链接对象

Class.forName(“com.mysql.jdbc.Driver”).newInstance(); //MYSQL驱动

con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); //链接本地MYSQL

Statement stmt; //创建声明

stmt = con.createStatement();

//新增一条数据

stmt.executeUpdate(“INSERT INTO user (username, password) VALUES (‘init’, ‘123456’)”);

ResultSet res = stmt.executeQuery(“select LAST_INSERT_ID()”);

int ret_id;

if (res.next()) {

ret_id = res.getInt(1);

System.out.print(ret_id);

}

//删除一条数据

String sql = “DELETE FROM user WHERE id = 1”;

long deleteRes = stmt.executeUpdate(sql); //如果为0则没有进行删除操作,如果大于0,则记录删除的条数

System.out.print(“DELETE:” + deleteRes);

//更新一条数据

String updateSql = “UPDATE user SET username = ‘xxxx’ WHERE id = 2”;

long updateRes = stmt.executeUpdate(updateSql);

System.out.print(“UPDATE:” + updateRes);

} catch (Exception e) {

System.out.print(“MYSQL ERROR:” + e.getMessage());

}

}

}

删除和更新数据都使用stmt.executeUpdate函数。

删除和更新数据都会返回一个Long的结果,如果为0,则删除或者更新失败,如果大于0则是操作删除的记录数

查询语句

package main;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.Statement;

public class Mysql {

/**

* 入口函数

* @param arg

*/

public static void main(String arg[]) {

try {

Connection con = null; //定义一个MYSQL链接对象

Class.forName(“com.mysql.jdbc.Driver”).newInstance(); //MYSQL驱动

con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); //链接本地MYSQL

Statement stmt; //创建声明

stmt = con.createStatement();

//新增一条数据

stmt.executeUpdate(“INSERT INTO user (username, password) VALUES (‘init’, ‘123456’)”);

ResultSet res = stmt.executeQuery(“select LAST_INSERT_ID()”);

int ret_id;

if (res.next()) {

ret_id = res.getInt(1);

System.out.print(ret_id);

}

//删除一条数据

String sql = “DELETE FROM user WHERE id = 1”;

long deleteRes = stmt.executeUpdate(sql); //如果为0则没有进行删除操作,如果大于0,则记录删除的条数

System.out.print(“DELETE:” + deleteRes);

//更新一条数据

String updateSql = “UPDATE user SET username = ‘xxxx’ WHERE id = 2”;

long updateRes = stmt.executeUpdate(updateSql);

System.out.print(“UPDATE:” + updateRes);

//查询数据并输出

String selectSql = “SELECT * FROM user”;

ResultSet selectRes = stmt.executeQuery(selectSql);

while (selectRes.next()) { //循环输出结果集

String username = selectRes.getString(“username”);

String password = selectRes.getString(“password”);

System.out.print(“\r\n\r\n”);

System.out.print(“username:” + username + “password:” + password);

}

} catch (Exception e) {

System.out.print(“MYSQL ERROR:” + e.getMessage());

}

}

}

查询语句使用stmt.executeQuery函数

rs.absolute() //绝对位置,负数表示从后面数

rs.first()第一条

rs.last()最后一条

rs.previoust()前一条

rs.next()后一条

rs.beforeFirst()第一条之前

rs.afterLast()最后之后

rs.isFirst(),rs.isLast(),rs.isBeforeFirst(),rs.isAfterLast

使用jdbc连接mysql为什么报错?

当我用JDBC连接MySql数据库时,编译报了如下错误:

错误1:

Loading class `com.mysql.jdbc.Driver’. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

这要求我们注册驱动时,把Class.forName(“com.mysql.jdbc.Driver”);改成 Class.forName(“com.mysql.cj.jdbc.Driver”);

当我信息满满的修改之后重新编译时,再次出现了错误:

错误2:

Fri Feb 22 08:55:38 CST 2019 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

这要求我们在设置url参数时,将useSSL=false,修改后 jdbc:mysql://localhost:3306/ds3?useSSL=false

当我修改后,本以为这下应该没问题了,没想到,再一次出现了问题

错误3:

Exception in thread “main” java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

这要求我们修改时区,修改成jdbc:mysql://localhost:3306/ds3?useSSL=falseserverTimezone=UTC

终于,不在报错误了。

错误4:当我们配置xml文件时,要把转为其本身的转义字符

配置properties文件的urlurl=jdbc:mysql:///ds3?useSSL=falseserverTimezone=UTC配置xml文件的urlproperty name=”url”jdbc:mysql://localhost:3306/ds3?useSSL=falseserverTimezone=UTC/property

怎么通过jdbc连接mysql数据库

•创建一个以JDBC连接数据库的程序,包含7个步骤:

1、加载JDBC驱动程序:

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),

这通过java.lang.Class类的静态方法forName(String className)实现。

例如:

try{

//加载MySql的驱动类

Class.forName(“com.mysql.jdbc.Driver”) ;

}catch(ClassNotFoundException e){

System.out.println(“找不到驱动程序类 ,加载驱动失败!”);

e.printStackTrace() ;

}

成功加载后,会将Driver类的实例注册到DriverManager类中。

2、提供JDBC连接的URL

•连接URL定义了连接数据库时的协议、子协议、数据源标识。

•书写形式:协议:子协议:数据源标识

协议:在JDBC中总是以jdbc开始

子协议:是桥连接的驱动程序或是数据库管理系统名称。

数据源标识:标记找到数据库来源的地址与连接端口。

例如:(MySql的连接URL)

jdbc:mysql:

//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为

gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。

3、创建数据库的连接

•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,

该对象就代表一个数据库的连接。

•使用DriverManager的getConnectin(String url , String username ,

String password )方法传入指定的欲连接的数据库的路径、数据库的用户名

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/184599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-25 17:25
下一篇 2024-11-25 17:25

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29

发表回复

登录后才能评论