(Java连接数据库Mysql详细教程)Java的数据库编程:JDBC

目录

 一、JDBC的概念

二、JDBC的使用

(1)数据库驱动包的下载和导入操作

(2)JDBC的操作实现(插入insert into为例)

三、Java的JDBA实现(增、删、改、查全部代码)

 (一)增(insert into)

 (二)删(delete)

 (三)改(update)

 (四)查 (select)


 一、JDBC的概念

       JDBC的中文意思为Java数据库连接,英文为Java Database Connectivity。

       JDBC是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。这个API由java.sql.*,javax.sql.*包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。

二、JDBC的使用

(1)数据库驱动包的下载和导入操作

1、准备数据库驱动包,并添加到项目的依赖中

        数据库驱动包可以在Maven中央仓库(官网链接:https://mvnrepository.com))下载自己电脑安装数据库相对应得版本数据库驱动,以我自己安装的MySQL5.7版本为例

         进入Maven中央仓库官网后,在搜索框中输入自己安装的数据库版本进行搜索,如下图f3d658b6e50b4cc19941f789bb7ff925.png

在这里我们选择第二个:MySQL Connector Java 

6ce64df4d1314babbe6129eec737fa73.png

在选择完第二个:MySQL Connector Java  ,点击进去之后在出现的界面中选择与自己安装的数据库版本相近的驱动包。

cb3e370bf22e41e294b56ab8b49c8fb1.png

       在出现的最前面的数字即为版本号,后面的几个数字可以不用理会,以MySQL5系列版本为例,可以选择5.1下面任意一个版本数据库驱动 

d46dffa927f64c0abde138ca1c53193e.png

322d7856e47142babdf38d4df457411d.png

 2、在项目中新创建文件夹lib,并将数据库驱动包mysql-connector-java-5.1.47.jar复制粘贴到lib中

 18f63a663d3e4d9dae2e960ff52f04e1.png

3、将该驱动包标记成项目的库:右键lib--->选择Add as Library ,到这里就把数据库驱动包成功导入到项目中了

97700d343a3645ff9b474f1af370c897.png

(2)JDBC的操作实现(插入insert into为例)

JDBC的操作实现总共分为如下几个步骤:

1、创建并初始化一个数据库源

//1、创建并初始化一个数据库源
        DataSource dataSource = new MysqlDataSource();
        //xzf为自己建立的数据库名字
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/xzf?characterEncoding=utf8&useSSL=false");
        //此处root为数据库的登录用户,默认不用理会
        ((MysqlDataSource)dataSource).setUser("root");
        //自己安装数据库的登录密码
        ((MysqlDataSource)dataSource).setPassword("xzf1314520");

2、和数据库服务器建立连接

 //2、和数据库服务器建立连接
       Connection connection= dataSource.getConnection();

注意:在使用Connection导入包时,记得导入java.sql这个包

aacd074543d244348435431ee945b840.png

3、构造SQL语句

构造sql语句有2种方法,第一种方法是直接写插入数据的SQL语句,这种方法相当于把SQL语句写死了,另一种方法是控制台输入插入的数据,用“?”来暂时代替插入数据,比起第一种方法,第二种比较灵活。

第一种:

 //3、构造SQL语句
String str="insert into student values(1,'小黄'),(2,'小红')";
PreparedStatement statement= connection.prepareStatement(str);

第二种:

         //3、构造SQL语句
        String str ="insert into student values(?,?)";
        Scanner scanner =new Scanner(System.in);
        int id = scanner.nextInt();
        String name = scanner.next();
        PreparedStatement statement= connection.prepareStatement(str);
        statement.setInt(1,id);
        statement.setString(2,name);

4、执行SQL语句

//4、执行SQL语句
          int a=statement.executeUpdate();
         System.out.println("a="+ a);
注意点:insere、delete、update 此处都使用executeUpdate,返回的是一个int类型
       select 此处使用的是executeQuery,返回的是一个ResultSet

5、释放资源

注意点:后创建先释放

    //5、释放资源
        statement.close();
        connection.close();

三、Java的JDBA实现(增、删、改、查全部代码)

增、删、改这三种方式代码只有执行SQL语句命令行不同,其他全部相同

(一)增(insert into)

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class JDBCtest {
    public static void main(String[] args) throws SQLException {
             //1、创建并初始化一个数据库源
        DataSource dataSource = new MysqlDataSource();
        //xzf为自己建立的数据库名字
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/xzf?characterEncoding=utf8&useSSL=false");
        //此处root为数据库的登录用户,默认不用理会
        ((MysqlDataSource)dataSource).setUser("root");
        //自己安装数据库的登录密码
        ((MysqlDataSource)dataSource).setPassword("xzf1314520");
            //2、和数据库服务器建立连接
       Connection connection= dataSource.getConnection();
             //3、构造SQL语句
       //方法一: String str="insert into student values(1,'小黄'),(2,'小红')";
        String str ="insert into student values(?,?)";
        Scanner scanner =new Scanner(System.in);
        int id = scanner.nextInt();
        String name = scanner.next();
        PreparedStatement statement= connection.prepareStatement(str);
        statement.setInt(1,id);
        statement.setString(2,name);
        //4、执行SQL语句
          int a=statement.executeUpdate();
         System.out.println("a="+ a);
             //5、释放资源
        statement.close();
        connection.close();
    }
}
 

 (二)删(delete)

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class JDBCtest {
    public static void main(String[] args) throws SQLException {
             //1、创建并初始化一个数据库源
        DataSource dataSource = new MysqlDataSource();
        //xzf为自己建立的数据库名字
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/xzf?characterEncoding=utf8&useSSL=false");
        //此处root为数据库的登录用户,默认不用理会
        ((MysqlDataSource)dataSource).setUser("root");
        //自己安装数据库的登录密码
        ((MysqlDataSource)dataSource).setPassword("xzf1314520");
            //2、和数据库服务器建立连接
       Connection connection= dataSource.getConnection();
             //3、构造SQL语句
        String str="delete from  student where id=1";
        PreparedStatement statement= connection.prepareStatement(str);
           //4、执行SQL语句
          int a=statement.executeUpdate();
         System.out.println("a="+ a);
             //5、释放资源
        statement.close();
        connection.close();
    }
}

 (三)改(update)

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class JDBCtest {
    public static void main(String[] args) throws SQLException {
             //1、创建并初始化一个数据库源
        DataSource dataSource = new MysqlDataSource();
        //xzf为自己建立的数据库名字
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/xzf?characterEncoding=utf8&useSSL=false");
        //此处root为数据库的登录用户,默认不用理会
        ((MysqlDataSource)dataSource).setUser("root");
        //自己安装数据库的登录密码
        ((MysqlDataSource)dataSource).setPassword("xzf1314520");
            //2、和数据库服务器建立连接
       Connection connection= dataSource.getConnection();
             //3、构造SQL语句
         String str="update  student set name='小军' where id=2";
        PreparedStatement statement= connection.prepareStatement(str);
          //4、执行SQL语句
          int a=statement.executeUpdate();
         System.out.println("a="+ a);
             //5、释放资源
        statement.close();
        connection.close();
    }
}

 (四)查 (select)

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCselect {
    public static void main(String[] args) throws SQLException {
        //1、创建并初始化一个数据库源
       DataSource dataSource = new MysqlDataSource();
        //xzf为自己建立的数据库名字
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/xzf?characterEncoding=utf8&useSSL=false");
        //此处root为数据库的登录用户,默认不用理会
        ((MysqlDataSource)dataSource).setUser("root");
        //自己安装数据库的登录密码
        ((MysqlDataSource)dataSource).setPassword("xzf1314520");
        //2、和数据库服务器建立连接
         Connection connection = dataSource.getConnection();
        //3、构造SQL语句
        String sql ="select * from student";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        //4、执行SQL语句
        ResultSet resultSet = preparedStatement.executeQuery();
        //5、遍历集合
        while(resultSet.next()){
            int id= resultSet.getInt("id");
            String name=resultSet.getString("name");
            System.out.println("id="+id+",name="+name);
        }
        //6、释放资源
        resultSet.close();
        preparedStatement.close();
        connection.close();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_73471456/article/details/129346534