zoukankan      html  css  js  c++  java
  • 《2---关于JDBC编程过程中驱动配置问题》

    说明:我在Editplus中编写了一个简单的JDBC程序,用来测试是否和数据库连接正确。读者如有其它疑问,可以留言交流。

    【1】程序如下:

     1 import java.sql.*;
     2 public class ConnMySql
     3 {
     4     public static void main(String[] args) throws Exception
     5     { 
     6         // 1.加载驱动,使用反射的知识,现在记住这么写。
     7         Class.forName("com.mysql.jdbc.Driver");
     8         try(
     9             // 2.使用DriverManager获取数据库连接,
    10             // 其中返回的Connection就代表了Java程序和数据库的连接
    11             // 不同数据库的URL写法需要查驱动文档知道,用户名、密码由DBA分配
    12             Connection conn = DriverManager.getConnection(
    13                 "jdbc:mysql://127.0.0.1:3306/select_test"
    14                 , "root" , "258080");
    15             // 3.使用Connection来创建一个Statment对象
    16             Statement stmt = conn.createStatement();
    17             // 4.执行SQL语句
    18             /*
    19             Statement有三种执行sql语句的方法:
    20             1 execute 可执行任何SQL语句。- 返回一个boolean值,
    21               如果执行后第一个结果是ResultSet,则返回true,否则返回false
    22             2 executeQuery 执行Select语句 - 返回查询到的结果集
    23             3 executeUpdate 用于执行DML语句。- 返回一个整数,
    24               代表被SQL语句影响的记录条数
    25             */
    26             ResultSet rs = stmt.executeQuery("select s.* , teacher_name"
    27                 + " from student_table s , teacher_table t"
    28                 + " where t.teacher_id = s.java_teacher"))
    29         {
    30             // ResultSet有系列的getXxx(列索引 | 列名),用于获取记录指针
    31             // 指向行、特定列的值,不断地使用next()将记录指针下移一行,
    32             // 如果移动之后记录指针依然指向有效行,则next()方法返回true。
    33             while(rs.next())
    34             {
    35                 System.out.println(rs.getInt(1) + "	"
    36                     + rs.getString(2) + "	"
    37                     + rs.getString(3) + "	"
    38                     + rs.getString(4));
    39             }
    40         }
    41     }
    42 }

    【2】然后在DOS命令行中执行这个程序,执行过程如下:

    从上图中可以看到,在我编写的源程序的第7行出现了错误,到源程序中查看第7行的代码如下:

    【3】由此可以猜测,应该是JDBC驱动没有正确配置。下面开始配置JDBC驱动。

    在配置JDBC驱动之前,首先在%JAVA_HOME%目录(解释:%JAVA_HOME%目录就是我们在配置Java JDK环境变量时所用到JAVA_HOME变量,相信读者应该都很清楚。下建立一个mysqlforjdbc文件夹,然后把mysql-connector-java-5.1.26-bin.jar复制到该目录下(我的是mysql-connector-java-5.1.26-bin.jar,读者的版本可能和我的不一样。)

    我的操作后结果如下图:

     

    【4】进入到%JAVA_HOME%lib目录下,将mysql-connector-java-5.1.26-bin.jar复制到该目录下。

    我操作后的结果如下图:

    【5】接下来配置CLASSPATH,在以前配置Java JDK环境变量时,配置的CLASSPATH环境变量后追加%JAVA_HOME%libmysql-connector-java-5.1.26-bin.jar ;%JAVA_HOME%mysqlforjdbcmysql-connector-java-5.1.26-bin.jar  然后确定。 (注意:不能有空格)

    我操作后的结果如下:

     

    【6】关掉之前的那个DOS命令行窗口,重新打开一个DOS命令行窗口,再次依次执行【1】、【2】步骤。

    如下图:

    可以看到成功执行了。

  • 相关阅读:
    数据库之事务与常见故障
    数学的魅力 之 正多边形
    html5 的基础理解1
    android 引入开源项目
    android 图片查看器
    java 线程安全
    python3 自动生成requirement.txt
    centos 7 安装 python3.7
    python3 创建,激活虚拟环境
    Mac 配置poetry
  • 原文地址:https://www.cnblogs.com/sun-/p/5710855.html
Copyright © 2011-2022 走看看