JDBC 连接MYSQL数据库

11 篇文章 0 订阅
6 篇文章 1 订阅

JDBC 连接MYSQL数据库

Javajdbc结合起来操作数据库可以真正实现“一次编写,处处运行”

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表,其属性有两个,分别为bookidname,类型都为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语句,分别是executeQueryexecuteUpdateexecute

executeQuery方法用于执行SELECT查询语句,并返回单个结果集,保存在ResultSet对象中

String sql = SELECT * FROM book;

ResultSet rs = stmt.executeQuery(sql);

executeUpdate方法用于执行SQL DML语句,即INSERTUPDATEDELETE语句,此时返回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包

  • 73
    点赞
  • 285
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值