用IDEA实现Java与数据库连接

本文介绍了Java如何通过JDBC与数据库连接,包括使用jar包简化代码,如加载MySQL驱动,执行SQL查询,以及处理异常。作者提供了一个使用JDBC进行用户登录验证的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,Java为什么要与数据库进行连接:

用sqlyog只能对所存储数据进行增删改查等操作,与java结合,便可将进行更多操作。代码怎么写,数据就可以干什么。

二,jar包的使用:

为什么要用jar包:

jar包可以直接导入,也就是直接用别人写好的代码,这部分你就不用再写了。

1.获取你的mysql版本号:

输入status

看到:

其中Server version:就是版本号!!!

2.获取jar包:

1.点此🔗:

MySQL :: MySQL Community Downloads

2.选择:

3.(8.3.0即版本号)

4.点击no thanks

3.将jar包复制在lib下:即导包

三.代码:

rs.next():

一次后,游标指向第一个的位置

while(rs.next())与if(rs.next()):

前者全部读取,后者读取一次

全部代码:

package cn.jdbc;

import java.sql.*;
import java.util.Scanner;

public class jdbcDemo1 {
    public jdbcDemo1() throws SQLException {
    }


        static String driver="com.mysql.cj.jdbc.Driver";
       static String url="jdbc:mysql:///booksore?characterEncoding=utf-8";

       static String username="root";
    static String password="xian";
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Connection conn=null;
        Statement sm=null;
        ResultSet rs=null;
        try {
            //1.加载驱动
            Class.forName(driver);
            //2.建立连接
            conn=DriverManager.getConnection(url, username, password);
            //3.执行sql语句
            sm=conn.createStatement();
            //利用标准输入语句来输入用户名和密码
            Scanner input=new Scanner(System.in);
            System.out.println("请输入用户名");
            String uname=input.next();
            System.out.println("请输入密码");
            String pwd=input.next();
            //1' or '1'='1
            String sql="select * from signon where username='"+uname+"' and password='"+pwd+"'";//利用拼接字符串写入变量
            //获取结果集
            rs=sm.executeQuery(sql);
            boolean flag=false;
            while(rs.next())
            {
                flag=true;
            }
            if(flag)
                System.out.println("登录成功");
            else
                System.out.println("登录失败");


        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       finally
        {
            try {
                if(rs!=null)
                    rs.close();
                if(sm!=null)
                    sm.close();
                if(conn!=null)
                    conn.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
 
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值