JDBC(java与数据库的连接)


数据库基本操作我们已经知道,java代码也会写,让我们要如何把他们连接在一起呢?如何通过java代码去访问数据库读写数据呢?

JDBC是什么?

JDBC是一个简称,全称就是Java DataBase Connectivity (java语言连接数据库),即JDBC就是通过java连接数据库的技术,是sun公司设定的一套数据库标准,只是一种规范,不做具体实现。

JDBC的使用步骤

  • 导入jar包(使用jdbc提供的丰富的工具类)
  • 获取和数据库的连接(用户名、密码及端口号)
  • 通过java程序执行SQL语句
  • 如果数据库查到结果,返回给java程序来处理

导入jar包

1、创建project
File–>New–>Project–>java–>next–>next–>输入工程名及选择存储位置–>finish
2、导入jar包
直接把mysql-connector-java-5.1.32.jar 复制到根项目下。结束后项目路径如下所示:
导入jar包
3、编译jar包
选中jar包右键找到Add as Library…点击一下,弹出弹框直接下一步就行。编译后右侧能够展开说明已经成功了。
编译jar包
jar包作用范围

获取与数据库的连接并使用

在工程的src下新建一个类,命名为cn.tedu.jdbc.Test01。
注意,此时cn.tedu.jdbc是我们的包名,Test01是类名,我们一步到位一起创建。

  • 注册驱动
  • 获取数据库的连接
  • 获取传输器
  • 执行SQL
  • 处理数据库返回的结果
  • 关闭资源
package cn.tedu.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Test01 {
    public static void main(String[] args) throws Exception {
        //1、注册驱动
        /*oracle.jdbc.OracleDriver*/
        Class.forName("com.mysql.jdbc.Driver");
        //2、获取数据库的连接
        /*jdbc连接Mysql数据库的协议//本机:端口号/数据库名*/
        String url = "jdbc:mysql://localhost:3306/cs";
        Connection conn = DriverManager.getConnection(url, "root", "root");
        //3、获取传输器
        Statement statement = conn.createStatement();
        //4、执行sql
        /*excuteQuery执行查询的Sql,excuteUpdate执行增删改sql*/
        String sql = "select * from user";
        ResultSet resultSet = statement.executeQuery(sql);
        //5、处理数据库查询到的结果
        while (resultSet.next()){
            String result = resultSet.getString(2);//获取第二列的值
            System.out.println(result);
        }
        //释放资源
        resultSet.close();//释放结果集
        statement.close();//释放传输器
        conn.close();//释放连接器
    }
}

常见错误

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

错误原因:
1、jar包没有导入,或者导入后没有编译;
2、Class.forName(“com.mysql.jdbc.Driver”)字符串拼写错误。

Unknown database 数据库名

错误原因:
1、数据库名拼写错误;
2、数据库不存在。

Access denied for user ‘root123’@‘localhost’ (using password: YES)

错误原因:
数据库的用户名或密码错误。

Table ‘py-school-db.mydb’ doesn’t exist

错误原因:
sql语句中的表不存在,或表名写错了。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值