使用jdbc访问mysql数据库,java jdbc连接mysql数据库
本文内容列表:
- 1、如何使用jdbc连接mysql数据库
- 2.如何与mysql数据库建立JDBC连接
- 3、如何使用jdbc访问mysql数据库
- 4. 为什么使用jdbc连接mysql时出错?
- 5、如何使用jdbc连接mysql数据库
如何使用jdbc连接mysql数据库
使用Jdbc连接MySql服务器非常方便。
首先,将jdbc添加到项目中,或者将jdbc添加到ClassPath中。这里我使用Eclipse直接导入jdbc jar文件,不再有对话框。
然后,配置DriverManager,用最简单的方法直接完成class类。代码:
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 语句很简单,一行代码即可:
Stat Statement=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)
其中 jdbc url 为: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;
导入java.sql.connection;
导入java.sql..drivermanager;
pirql..drivermanager; static void main(String arg[]) {
try {
连接 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;
导入java.sql.ResultSet;
导入java.sql.Statement;
公共类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
声明 stmt; //创建语句
stmt = con.createStatement();
//添加新部分
stmt.executeUpdate("INSERT INTO user (用户名,密码) VALUES ('init', '123456 ')" );
ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()");
int ret_id;
if (res.next()) {
ret_id = res.get_id = res. 1);
System.out.print(ret_id);
}
} catch (异常 e) {
System.out.print("MYSQL 错误:" + e.getMessage()) ;
}
}
}
stmt.executeUpdate INSERT;删除;消息;所有语句均使用executeUpdate函数执行
stmt.executeQuery SELECT;该语句与 stmt.executeQuery 函数一起使用
ResultSet res = stmt.executeQuery;("select LAST;_INSERT_ID()");
查询最后插入的数据集编号,返回ResultSet res;对象
删除和更新数据
package main;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql;结果sql.声明;
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(用户名,密码)VALUES('init','123456')");
ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()");
int ret_id;
if (res.next()) {
ret_id = res.getInt(1);. out.print(ret_id);
}
//删除一条数据
String sql = "DELETE FROM user WHERE id = 1";
long deleteRes = stmt.execute Update(sql) // 如果为0,则不执行删除操作。如果大于0,则记录删除的条数。 username = 'xxxx' WHERE id = 2";
long updateRes = stmt.executeUpdate(updateSql);
System.out.print("UPDATE :" + updateRes);
} catch (异常 e ) {
System.out.print("MYSQL 错误:" + e.getMessage());
}
}
}
删除和更新数据都使用stmt。执行更新函数。
删除和更新数据将会产生长期影响。如果为0,则删除或更新失败。如果大于0,则为该操作删除的文件数。
查询语句
package main;
import java .sql.Connection;
导入 java.sql.DriverManager;
导入 java.sql.ResultSet;
导入 java.sql.ResultSetMetaData;
导入 java.sql.Statement;
{
{ 公共类我的
* 入口函数
* @param arg
*/
public static void main(String arg[]) {
try {
Connection con = null; //定义一个MYSQL Link对象
Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驱动
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/ test", "root", "root"); //链接本地MYSQL
声明 stmt; //创建语句
stmt = con.createStatement();
//添加新部分
stmt.executeUpdate("INSERT INTO user (用户名,密码) VALUES ('init', '123456 ')" );
ResultSet res = stmt.executeQuery("选择 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()) { //循环输出结果集
= selectRes. getString("用户名");
String 密码 = selectRes.getString("密码");
System.out.print("\r\n\r\n");
System . out. print("用户名:" + 用户名 + "密码:" + 密码);
}
} catch (Exception e) {
System.out.print("MYSQL ERROR:" + e.getMessage());
}
}
}
查询语句使用 stmt 。 executeQuery Function
rs.absolute() //绝对位置,负数表示从后数
rs.first() 第一个元素
rs.last() 最后一个元素
rs.previous ()前一个元素
rs.next() 在
rs.beforeFirst() 之后 在第一个
rs.afterLast() 在最后一个
rs.isFirst() 之后,rs .isLast(),rs.isBeforeFirst ( ),rs.isAfterLast
为什么使用jdbc连接mysql时会报错?
使用JDBC连接MySql数据库时,编译时报如下错误:
Error 1:
Loading class `com.mysql.jdbc.Driver'。它不再被使用。新的驱动程序类是“com.mysql.cj.jdbc.Driver”。驱动程序通过 SPI 自动注册,无需手动配置驱动程序类。
这就需要我们在编写驱动.Driver时设置Class.forName("com.mysql.jdbc");改为Class.forName("com.mysql.cj.jdbc.Driver");
当我全部修改完重新编译时,错误又出现了:
错误2:
2019 年 2 月 22 日星期五 08:55:38 CST 警告:不建议在没有服务器身份验证的情况下建立 SSL 连接。根据MySQL 5.5.45+、5.6.26+和5.7.6+的要求,除非设置了clear选项,否则必须默认设置SSL连接。为了符合不使用 SSL 的现有应用程序,verifyServerCertificate 属性设置为“false”。您需要通过设置 useSSL=false 显式禁用 SSL,或设置 useSSL=true 并为服务器身份验证提供信任。
这就需要我们在设置url参数的时候设置useSSL=false。改完后jdbc:mysql://localhost:3306/ds3?useSSL=false
改完之后我想现在应该没有问题了。 ,没想到,又出问题了
错误3:
线程“main”中的异常 java.sql.SQLException:服务器时区值“ÖÐ1ú±ê׼ʱÜä”未知或代表多个时区。您必须配置服务器或 JDBC 驱动程序(通过 serverTimezone 配置属性)以使用更具体的时区值来使用时区支持。
这需要我们将时区更改为 jdbc:mysql://localhost :3306/ds3?useSSL=falseserverTimezone=UTC
终于没有再报错了。
错误4:配置xml文件时需要转换为自己的转义字符
配置属性文件url url=jdbc:mysql:///ds3?useSSL=falseserverTimezone=UTC 配置xml文件urlproperty name = "url" jdbc:mysql://localhost:3306/ds3?useSSL=falseserverTimezone=UTC/property
如何连接mysql数据库到jdbc
•创建一个使用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();
}
执行成功后,会在DriverManager类中注册一个Driver类的实例。
2. 提供JDBC 连接的URL
•连接URL 指定连接数据库时的协议、子协议和数据源标识符。
•类型: 协议: 子协议:数据源标识符
协议:在 JDBC 中始终以 jdbc 开头
子协议:桥接连接的驱动程序或数据管理系统的名称。
源 ID:记下数据源的地址和端口。
示例:(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 )方法传入要连接的指定数据库的路径和数据库的用户名
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网
