IDEA中使用jdbc连接数据库

导读:本篇文章讲解 IDEA中使用jdbc连接数据库,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.下载连接mysql所需要的jar包,下载之后解压
传送门
在这里插入图片描述
2.将jar包添加到该项目的库中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.编写代码

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '用户名',
  `age` int(11) COMMENT '年龄',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

在这里插入图片描述

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class JDBC {
 
    public static void query() {
        try {
            /**
             将mysql驱动注册到DriverManager中去
             将"com.mysql.jdbc.Driver" 当做参数传入,就是告诉JVM,去"com.mysql.jdbc"这个路径下找Driver类,将其加载到内存中。
             */
            //加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
            String user = "root";
            String password = "xxx";
            //建立和数据库的连接,并返回表示连接的Connection对象
            Connection connection = (Connection) DriverManager.getConnection(url, user, password);
            //要执行SQL语句,必须获得java.sql.Statement实例
            Statement Statement = (com.mysql.jdbc.Statement) connection.createStatement();
            String sql = "select * from user";
            //ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问
            ResultSet resultSet = Statement.executeQuery(sql);
            while (resultSet.next()) {
                String name = resultSet.getString("user_name");
                String age = resultSet.getString("age");
                System.out.println(name + " " + age);
            }
            //
            /**
             * 操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源
             * 先关闭requestSet
             * 再关闭preparedStatement
             * 最后关闭连接对象connection
             */
            //关闭结果集
            resultSet.close();
            //关闭执行方法
            Statement.close();
            //关闭连接
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void insert() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
            String user = "root";
            String password = "xxx";
            Connection connection = (Connection) DriverManager.getConnection(url, user, password);
            /**
             *
             * 使用Statement需要进行拼写SQl语句,辛苦并且容易出错,使用PreparedStatement可以传入带占位符的SQL语句(使用?进行占位)
             */
            String sql = "insert into user(user_name,age) values (?,?)";
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            //注意:该处索引从1开始,而不是0
            preparedStatement.setString(1, "lisi");
            preparedStatement.setInt(2, 22);
            int result = preparedStatement.executeUpdate();
            System.out.println(result);
            preparedStatement.close();
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void update() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
            String user = "root";
            String password = "xxx";
            Connection connection = (Connection) DriverManager.getConnection(url, user, password);
            String sql = "update user set user_name=?,age=? where id=?";
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, "xiaowang");
            preparedStatement.setInt(2, 13);
            preparedStatement.setInt(3, 2);
            int result = preparedStatement.executeUpdate();
            System.out.println(result);
            preparedStatement.close();
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void delete() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/test?useSSL=false";
            String user = "root";
            String password = "xxx";
            Connection connection = (Connection) DriverManager.getConnection(url, user, password);
            String sql = "delete from user where id=?";
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setInt(1, 2);
            int result = preparedStatement.executeUpdate();
            System.out.println(result);
            preparedStatement.close();
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/71511.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!