前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 连接数据库 JDBCUtil

Java 连接数据库 JDBCUtil

作者头像
宁在春
发布2022-10-31 14:14:18
6290
发布2022-10-31 14:14:18
举报
文章被收录于专栏:关于Java学习@宁在春

Java 连接数据库 JDBCUtil

差点就把这个给遗忘掉了。🤦‍

Java连接数据库是JavaWeb 的入门操作。当然其方式也是非常简单的。

在这里不多做说明,代码里面做了详细介绍。

对于初学者或许会稍微不那么友善。

我的IDE 是idea,习惯搭成maven项目 直接导包的。

如果是Elcipse 的话,不会创建的话,再查查吧,我的代码是没有问题的。呜呜呜。

代码语言:javascript
复制
package jdbc;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class JDBC {
    static String url ="jdbc:mysql://localhost:3306/test_1?useUnicode=true&characterEncoding=UTF-8&SSL=false&serverTimezone=UTC";
    // 这个数据库的jdbc:mysql:// 是固定的
    // localhost 代表本机
    // 3306 表示数据库的端口号
    // test_1 是连接的数据库名
    // useUnicode=true 是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk或utf-8,本参数值必须设置为true
    // characterEncoding=UTF-8 字符编码为utf-8
    // serverTimezone=UTC 这个是设置时间 UTC: Coordinated Universal Time, 国际协调时间,也称世界标准时间。  mysql
    static String userName="root";// 数据库用户名

    static String passWord = "123456";// 数据库用户密码
    // 获取连接
    public static Connection getConnection(){
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver"); // mysql 8的是com.mysql.cj.jdbc.Driver

            // 3. 通过驱动程序管理器类获得连接对象
            conn = DriverManager.getConnection(url,userName,passWord);
            if (conn!=null){
                System.out.println("连接成功!");
            }else{
                System.out.println("连接失败!");
            }
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }catch (SQLException se) {
            System.out.println(se.toString());
        }
        return conn;
    }


    // 关闭连接、语句及结果集对象
    public static void  CloseAll(Connection conn , Statement stmt, ResultSet rs){
        if (conn!=null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (stmt!=null){
            try {
                stmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }
    public static void test2()  {
        Connection ct=null;
        // 这里是直接获取连接
        ct = JDBC.getConnection();
        // 用于执行静态SQL语句并返回其产生的结果的对象。
        //默认情况下,每个Statement对象只能同时打开一个ResultSet对象。
        Statement st=null;

        //代表数据库结果集的数据表,通常通过执行查询数据库的语句来生成。
        //ResultSet对象维护一个游标,该游标指向其当前数据行。 最初,光标位于第一行之前。
        // next方法将光标移动到下一行,并且由于当ResultSet对象中没有更多行时它将返回false ,因此可以在while循环中使用它来迭代结果集。
        ResultSet rs=null;
        try {
            st = ct.createStatement();

        String sql="select * from student_1";
        rs=st.executeQuery(sql);
        System.out.println("| 学号 | 姓名 | 性别 | 年龄 | 籍贯 | 院系 | 更改 | 删除 |");
        while(rs.next()){
            System.out.print("| "+rs.getString(2));
            System.out.print(" | "+rs.getString(3));
            System.out.print(" | "+rs.getString(4));
            System.out.print(" | "+rs.getString(5));
            System.out.print(" | "+rs.getString(6));
            System.out.print(" | "+rs.getString(7)+"|");
            System.out.println("");
        }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            JDBC.CloseAll(ct,st,rs);
        }
    }

    public static void test3()  {
        Connection connection = JDBC.getConnection();
// 表示预编译的SQL语句的对象。
//SQL语句已预编译并存储在PreparedStatement对象中。 然后可以使用该对象多次有效地执行该语句。
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            ps = connection.prepareStatement("SELECT * FROM student_1  where id=?");
            ps.setInt(1, 20190102);
            rs = ps.executeQuery();
            System.out.println("| 学号 | 姓名 | 性别 | 年龄 | 籍贯 | 院系 | 更改 | 删除 |");
            while (rs.next()) {
                System.out.print("| "+rs.getString(2));
                System.out.print(" | "+rs.getString(3));
                System.out.print(" | "+rs.getString(4));
                System.out.print(" | "+rs.getString(5));
                System.out.print(" | "+rs.getString(6));
                System.out.print(" | "+rs.getString(7)+"|");
                System.out.println("");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            JDBC.CloseAll(connection, ps, rs);
        }
    }

    public static void main(String[] args) {
//        getConnection();
//            test2();
            test3();
     }
}

日常自言自语

摸鱼又划水的一篇博客。🤦‍

都不好意思讲,我写过Java连接数据库的博客啦。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java 连接数据库 JDBCUtil
    • 日常自言自语
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档