MySQL之 ——Java代码编程 ! ! !

🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇

                                         JDBC编程                                

🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇🎇

前言

学习JDBC的编程之前要提前掌握常用数据库其中至少一种的数据库操作语法!!!



1. 数据库编程的必备条件

  • 编程语言,如Java,C、C++、Python等
  • 数据库,如Oracle,MySQL,SQL Server等
  • 数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提 供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包。同样的, 要基于Java操作Oracle数据库则需要Oracle的数据库驱动包ojdbc。

注 :  这篇文章以Java为编程语言操作Mysql来具体讲解怎么用编写代码的方式代替去小黑框里去操作数据库 ! !


2. Java的数据库编程:JDBC

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


3.JDBC的一般使用步骤

1.插入操作的示例代码

 Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生学号:");
        int id = scanner.nextInt();
        System.out.println("请输入学生姓名:");
        String name  = scanner.nextLine();
        //1.创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java1?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("12345678a");

        //2.建立和服务器的联系
        Connection connection = dataSource.getConnection();

        //3.构造一个 SQL 语句
        String sql ="insert into student values(?,?)";

        //将String 转化成 语句
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2,name);
        //把构造好的语句发送给服务器去执行
        int n = statement.executeUpdate();
        System.out.println(n);

        //最后释放资源
        statement.close();
        connection.close();


代码详细解说

创建数据源 DataSource,实例化一个数据源对象

  • 创建数据源之后填入你Mysql的ip 
  • 一般如果是自己的电脑就直接127.0.0.1,后边mysql的也是3306(默认编码)
  • 如果你自己没有修改这些地址,可以直接照着下边的代码copy,不过密码要输入自己设置的密码 !


//1.创建数据源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java1?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("12345678a");

  和服务器建立联系 用创建的数据源来建立联系Connection 

 //2.建立和服务器的联系
        Connection connection = dataSource.getConnection();
 //3.构造一个 SQL 语句
        String sql ="insert into student values(?,?)";

        //将String 转化成 语句
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2,name);
        //把构造好的语句发送给服务器去执行
        int n = statement.executeUpdate();
        System.out.println(n);

        //最后释放资源
        statement.close();
        connection.close();

  • 上述代码构造的是一个插入语句,其中?是通配符,替代的对象 ,由上面的sanner来输入!
  • PrepareStatement是预处理语句,将String转化成语句
  • executeUpdate可以进行对数据的增删改等操作(其中查的操作是使用query来操作的
  • 最后释放资源的时候要注意后创建的先释放 ! !


2.查找操作的示例代码

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();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java1?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("12345678a");
        
        //2.和服务器建立联系
        Connection connection = dataSource.getConnection();
        
        //3.创建查找语句
        String sql = "select * from student";
        //将String转化成语句
        PreparedStatement statement = connection.prepareStatement(sql);
        
        //把构造好的语句传递给服务器,注意这里是用的Query进行查找操作
        
        ResultSet resultSet = statement.executeQuery();
        
        //对查找到的数据进行接受并且遍历打印
        while(resultSet.next()){
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println("id = " + id);
            System.out.println("name = " + name);
        }

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


    }
}
  • 对statement的传递是用的executeQuery的方法,
  • ResultSet(这是一个结果集,有点类似String的用法),用ResultSet来接收


总结

真嘟超级详细,希望能帮助大伙,博客不易,点赞 收藏 加关注,知识进脑不迷路!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值