初识JDBC

JDBC

1. jdbc是什么

jdbc是一套由sun公司指定的接口,是一套规范,大家都要遵守。
jdbc(java database connectivity,Java语言连接数据库),顾名思义,就是用Java语言连接数据库,来获取底层数据(数据库中的数据)的操作。

2. jdbc的本质

jdbc实质是一个接口,接口其实就是一种协议,一种抽象的协议,调用者和实现者都要遵守,如果不制定一套接口规范,就得写多套java程序,因为数据库有MySQL,Oracle,,,,每个数据库都有自己的原理,所以sun公司制定了jdbc接口,大家都遵守这一套接口。

3. IDEA里导入对应数据库的驱动jar包

虽然不用写多套连接数据库的Java代码,但是也要到各大公司的官网去下载驱动jar包,sun公司没有提供驱动。jar包里有很多.class文件,必须要导入到IDE里。
注意:没有驱动的时候,可以编译,不可以运行。到相应的官网上下载对应的驱动,并配置到环境变量classpath中,不要忘记在最开始写. ; (. 和 ; 都要用英文符号)。以上是文本编辑器开发的配置方式,IDEA中有它自己的配置方式。
将驱动导入IDEA步骤:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. jdbc编程六步

第一步:注册驱动(作用:告诉Java程序,即将要连接的是哪个品牌的数据库)
第二步:获取链接(表示JVM进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后,一定要关闭)
第三步:获取数据库操作对象(专门执行SQL语句的对象)
第四步:执行SQL语句(DQL , DML,)
第五步:处理查询结果集(只有当第四步执行的是select语句的时候,才有第五步处理查询结果集)
第六步:释放资源(使用完资源之后一定要进行关闭资源,java和数据库属于进程间的通信,开启之后一定要关闭)



import java.sql.*;

public class firstJDBC {
    public static void main(String[] args) {
        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        try {
            //1.注册驱动
            //com.mysql.cj.jdbc.Driver是新的类驱动,原来是com.mysql.jdbc.Driver
            //加载驱动只需要类加载的动作,因为registerDriver是静态方法,静态方法在类加载的时候就执行了,没必要去new一个Driver对象
//            Driver driver = new com.mysql.jdbc.Driver();
//            DriverManager.registerDriver(driver);
            /*url:统一资源定位符(网络某个资源的绝对路径)
                url包括哪几部分
                    协议
                    IP
                    PORT
                    资源名
                   jdbc:mysql://localhost:3306/homework
                   jdbc:mysql://  协议
                   localhost      本机IP(localhost和127.0.0.1都是本机IP)
                   3306           mysql默认端口号
                   /homework      要连接的资源名(数据库名称)
            */
//            String url = "jdbc:mysql://localhost:3306/homework";
//            String user = "root";
//            String password = "20281235liyifeng";
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.获取连接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/homework","root","20281235liyifeng");
            //3.获取数据库连接对象
            st = conn.createStatement();
            String sql = "select * from user";
            //5.执行sql语句
            rs = st.executeQuery(sql);
            while (rs.next()){
                String username = rs.getString("username");
                String password1 = rs.getString("password");
                System.out.println(username + "," + password1);
            }
            //验证是否成功连接数据库
            //System.out.println(conn);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {//释放资源
            if(rs != null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(st != null){
                try {
                    st.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(conn != null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

在这里插入图片描述
注意:一定要进行资源释放,不然会造成资源浪费。
在写JDBC的时候将password改成你自己的root账户的密码即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值