JDBC连接数据库以及相关操作

JDBC连接数据库

  1. 准备驱动,下载必要文件

    MySQL驱动文件:mysql-connector-java-8.0.15.jar

  2. 初始化连接,获取Driver文件

            //加载驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
  1. 链接数据库,获取数据库连接对象

    连接方法为DriverManager.getConnection

try {
            //加载驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //getConnecting()方法,用来连接mysql的数据库
    		//参数
            conn = DriverManager.getConnection("jdbc:mysql://" + dbUrl + "?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true  ", dbUser, dbPW);
            if (!conn.isClosed()) {
                System.out.println("Succeeded connecting to the Database" + dbUrl);
            }
        } catch (ClassNotFoundException e) {
            //数据库驱动类异常处理
            System.out.println("can't find the Driver!");
            e.printStackTrace();
        } catch (SQLException e) {
            //数据库连接失败异常处理
            e.printStackTrace();
        } 
  1. 使用statement执行SQL语句:

    • 从连接对象获取statement对象。
    • 设置SQL语句
    • 执行 SQL语句(查询/更新)
    //获取连接对象
    Statement stmt=conn.createStatement();
    //执行查询语句,返回ResultSet对象
    ResultSet rs=stmt.executeQuery("SELECT * FROM book");
    //执行SQL语句,结果为ResultSet返回True,否则(结果为更新行数或无结果)返回False
    stmt.execute("SELECT * FROM book WHERE id=1");
    //执行更新,返回更新的行数
    stmt.executeUpdate("DELETE * FROM  book");
    
  2. 使用PreparedStatement执行SQL语句

    //获取对象,设置语句模式
    PreparedStatement psmt=conn.prepareStatement("SELECT * FROM book Where id=?,name=?,price=?");
    //设置参数
    psmt.setInt(1,0);
    psmt.setString(2,"MATH");
    psmt.setDouble(3,9.99);
    //执行语句,执行方式有三种,与Statement对象相同
    ResultSet rs=psmt.executeQuery("");
    
    //以上语句等价于以下语句
    ResultSet rs=psmt.executeQuery("SELECT * FROM book Where id=0,name=\"MATH\",price=9.99");
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值