MySQL语句学习第四篇_数据库:通过intellij IDE连接MySQL数据库使用JDBC实现增删查改

MySQL语句学习第四篇_数据库
通过intellij IDE连接MySQL数据库使用JDBC来实现增删查改

专栏记录MySQL的学习,感谢大家观看。

本章的专栏📚➡️MySQL语法学习
本博客前一章节指向➡️MySQL语句学习第三篇
本人的博客➡️:如烟花般绚烂却又稍纵即逝的主页在这里插入图片描述
在这里插入图片描述

JDBC的概念

  • JDBC是什么?

Java DataBase Connectivity Java用来访问关系型数据库的API((Application Programming Interface 即应用程序编程接口)。

JDBC驱动使得java与其数据库之间形成交换,java通过调用JDBC驱动的方法来进行数据库下的一系列操作,MYSQL ORACLE等…每一个数据库有不同的JDBC驱动,可以去数据库官网查看并下载安装使用。
在这里插入图片描述


当驱动下载后,导入到我们当前需要编写代码的一个路径下,并标记为库提供java方法来使用,实现最终的数据库连接等一系列操作。
在这里插入图片描述


访问并建立数据库连接

如果上述步骤完成后,可以成功引用MysqlDataSource,这时可以与MySQL的服务器进行连接。
这里注意的服务器用户名和密码是mysql中的默认用户名和登陆mysql的密码

 //建立数据库连接
    public static Connection getConnection() throws SQLException {
        DataSource dataSource=new MysqlDataSource();
        //设置服务器位置
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/class?characterEncoding=utf8&useSSL=false");
        //默认的用户名
        ((MysqlDataSource) dataSource).setUser("root");
        //你的数据库密码
        ((MysqlDataSource) dataSource).setPassword("1234");
        //建立与数据库的连接
        return (Connection) dataSource.getConnection();
    }

查询Mysql中数据

1.这里调用连接好服务器的方法,通过sql语句来预编译。
2.然后执行后产生一个结果集(excuteQuery)进行接收。
3.这里需要对结果集进行遍历拿到结果集的每一行数据,如果结果集为false,则跳出循环.
4.最后释放掉所有资源,先进后出,从最后的资源开始逐个释放。

   public static void select() throws SQLException {
        //接收建立好的数据库
        java.sql.Connection connection=getConnection();
        //使用sql语句来进行查询
        String sql="select *from student";
        PreparedStatement statement = connection.prepareStatement(sql);
        //这里是一个结果集,点进去查看接收类型
        ResultSet resultSet = statement.executeQuery();
        //遍历这个结果集直接遍历为false
        while(resultSet.next()){
            int id=resultSet.getInt("id");//mysql中的列名
            String name=resultSet.getString("name");//mysql中的列明
            System.out.println("id:"+id+" "+"name:"+name);
        }
        //释放资源
        resultSet.close();
        statement.close();
        connection.close();
    }

增加MySQL中的数据

1.调用连接数据库方法。
2.引用sql语句并使用字符串进行接收。
3.预编译sql语句。这里的?作为占位符,最后将其使用即可。

4.后续执行完成后释放。

//新增
   public static void insert(int id,String name) throws SQLException {
            Connection connection=getConnection();
            String sql="insert into student values(?,?)";//sql语句
           PreparedStatement statement = connection.prepareStatement(sql);
           //这里将第一个?替换为id第二个?替换为name
        statement.setInt(1,id);
        statement.setString(2,name);
        //接收一下执行最终更新行数
           int n = statement.executeUpdate();

            System.out.println("Query OK,"+n+" row affected");
        //释放资源
        statement.close();
        connection.close();
    }

删除MySQL中的数据

这里我在方法中引用了Scanner来对指定的列名进行行之间的删除,sql语句更改,其他操作不变。

 //删除
    public static void delete() throws SQLException {
        //这里的id是要选择删除的id
        Scanner scanner=new Scanner(System.in);
        int id=scanner.nextInt();

        Connection connection=getConnection();
        String sql="delete from student where id=?";//sql语句
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        //接收一下执行最终更新行数
        int n = statement.executeUpdate();

        System.out.println("Query OK,"+n+" row affected");
        //释放资源
        statement.close();
        connection.close();
    }

更新MySQL中的数据

1.需要更改的sql语句。
2.指定修改的区间范围或者指定的内容。
3.释放资源

 //更新
    public static void update(int id,String name) throws SQLException {
        //这里的id是要选择删除的id
        Scanner scanner=new Scanner(System.in);
        int modify=scanner.nextInt();

        Connection connection=getConnection();
        String sql="update student set id=?,name=? where id=? ";//sql语句
        PreparedStatement statement = connection.prepareStatement(sql);
        //三个问号按顺序计算数量
        statement.setInt(1,id);
        statement.setString(2,name);
        statement.setInt(3,modify);
        //接收一下执行最终更新行数
        int n = statement.executeUpdate();
        System.out.println("Query OK,"+n+" row affected");
        //释放资源
        statement.close();
        connection.close();
    }

本章为MYSQL学习的第四章节,如果你有任何问题或建议,欢迎在评论区留言,我们一起交流学习!感谢大家观看。

评论 105
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值