大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
JDBC 连接MYSQL数据库
Java与jdbc结合起来操作数据库可以真正实现“一次编写,处处运行”
MySQL 下载地址:https://dev.mysql.com/downloads/
下载MySQL jdbc驱动:https://dev.mysql.com/downloads/connector/j/
https://dev.mysql.com/downloads/file/?id=470333
Windows平台下载mysql-connector-java-5.1.42.zip,解压缩下载得到的压缩文件,在其中mysql-connector-java-5.1.42-bin.jar包,JDBC通过这个包才能够正确的连接到MySQL数据库。
Java程序连接到MySQL数据库
假设在MySQL中有book表,其属性有两个,分别为bookid和 name,类型都为String
连接数据库的一般步骤:
1.调用Class.forName()方法加载相应的数据库驱动程序
Class.forName(“com.mysql.jdbc.Driver”);
2.定义要连接数据库的地址URL,要注意不同数据库的连接地址不同,地址URL的格式为:jdbc:<子协议>:<子名称>
String mysqlURL = “jdbc:mysql://localhost:port/dbName”; //dbname是数据库名
3.使用适当的驱动程序类建立与数据库的连接,调用DriverManager对象的getConnection方法,获得一个Connection对象,它表示一个打开的连接
Connection conn = DriverManager.getConnection(URL,”数据库用户名”,”密码”);
4.创建语句对象
使用Connection接口的createStatement方法创建一个statement语句对象,该对象用于传递简单的不带参数的sql语句给数据库管理系统来执行
Statement stmt = conn.createStatement();
使用Connection 接口prepareStatement方法创建一个PreparedStatement语句对象,该对象用于传递带有一个或多个输入参数的sql语句
PreparedStatement psm = conn.prepareStatement(“INSERT INTO book(bookid,name) VALUES(?,?)”);
使用Connection接口的prepareCall方法创建一个CallableStatement语句对象,该对象用于调用存储过程
CallableStatement csm = conn.prepareCall(“{call validate(?,?)}”); //validate是存储过程名
5.执行语句
Statement接口提供了3个方法执行sql语句,分别是executeQuery、executeUpdate和execute
executeQuery方法用于执行SELECT查询语句,并返回单个结果集,保存在ResultSet对象中
String sql = “SELECT * FROM book”;
ResultSet rs = stmt.executeQuery(sql);
executeUpdate方法用于执行SQL DML语句,即INSERT,UPDATE和DELETE语句,此时返回sql语句执行时操作的数据表中受到影响的行数,返回值是一个整数。executeUpdate方法还可用于执行sql DDL语句,如CREATE TABLE, DROP TABLE等。此时返回值为0.
String sql = “DELETE FROM book WHERE bookid=“+” ’12’ ”;
Int n = stmt.executeUpdate(sql);
Execute方法既可以执行查询语句,也可以执行更新语句,常用于动态处理类型未知的SQL语句
6.对返回的结果集ResultSet对象进行处理
resultSet对象包含了sql语句的执行结果,它使用一组get方法实现对结果行中每列数据的访问,使用new访问用于移动到ResultSet下一行,使其成为当前行。
String sql = “SELECT * FROM book”;
ResultSet rs = stmt.executeQuery(sql);
//对结果集进行迭代
While(rs.next()) {
bookid = rs.getString(1);
name = rs.getString(2);
System.out.println(bookid+”,”+name);
}
7.关闭连接。
关闭所有的jdbc对象,释放资源,关闭结果集,关闭语句对象和连接对象
String dbDriver = “com.mysql.jdbc.Driver”; //声明MySQL数据库驱动
String url = “jdbc:mysql://host:port/dbName”; //声明数据源
Connection conn = null; //声明与数据库的连接
Statement stmt = null; //声明执行sql语句
ResultSet rs = null; //声明结果集
Class.forName(dbDriver); //加载数据库驱动
conn = DriverManager.getConnection(url, “数据库用户名”,”密码”); //连接数据库
stmt = conn.createStatement(); //创建statement对象
rs = stmt.executeQuery(“SELECT * FROM tablename”); //执行查询语句
while(rs.next()){
……
}
//关闭连接
rs.close();
stmt.close();
conn.close();
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序
例子:
package fz.hunter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
/**
* JDBC连接MYSQL数据库
* @author Administrator
*
*/
public class JDBCMysql {
public static void main(String args){
String className = “com.mysql.jdbc.Driver”;
String url = “jdbc:mysql://localhost:3306/uesr”;
String username = “root”;
String password = “root”;
try {
//加载MySQL的驱动程序
Class.forName(className);
//调用DriverManager对象的getConnection方法来获得Connection对象,成功连接数据库
Connection conn = DriverManager.getConnection(url, username, password);
//sql语句
String sql = “select bookid,name from book”;
//使用Connection接口的createStatement方法来创建Statement对象,该对象用来传递简单不带参数的sql给数据库系统来执行
Statement stat =conn.createStatement();
//prepareStatement方法创建PreparedStatement对象,用于传送一个或多个输入参数的sql语句
PreparedStatement statement = conn.prepareStatement(“在此处填写SQL语句”);
//执行sql语句,返回单个结果集,保存在ResultSet 对象中
ResultSet rs = stat.executeQuery(sql);
//对结果集进行迭代
while(rs.next()){
//bookid = rs.getString(1);
//name = rs.getString(2);
System.out.println(“成功完成数据的输出”);
}
//关闭连接
rs.close();
stat.close();
conn.close();
}catch(ClassNotFoundException e){
System.out.println(“sorry ,can’t find the Driver!”);
e.printStackTrace();
}
catch(SQLException e){
System.out.println(“数据库连接失败”);
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
注意记得给项目添加jdbc驱动jar包
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/195649.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...