热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MyEclipse使用Java通过JDBC连接MySQL数据库的基本测试

MyEclipse使用Java通过JDBC连接MySQL数据库的基本测试1.前提是MyEclipse已经能正常开发Java工程。2.安装MySQL个人使用的是版本是mysql-5.0.

MyEclipse使用Java 通过JDBC连接MySQL数据库的基本测试

1.前提是MyEclipse已经能正常开发Java工程。

2.安装MySQL

个人使用的是版本是 mysql-5.0.22-win32.zip

网址:http://www.mysql.com/downloads/mysql/#downloads

3.下载JDBC驱动

个人使用的是 mysql-connector-java-5.1.22.zip,所需要的就是解压缩之后其中的 mysql-connector-java-5.1.22-bin.jar

网址:http://www.mysql.com/downloads/connector/j/

4.代码测试

 

 1 package ts.jsj.lyh;
 2 
 3 import java.sql.*;
 4 
 5 /** *//**
 6  * 使用JDBC连接数据库MySQL的过程
 7  * DataBase:JSJ, table:student;
 8  * @author DuChangfeng 2008 09 18
 9  */
10 public class JDBCTest {
11     
12     public static Connection getConnection() throws SQLException, 
13             java.lang.ClassNotFoundException 
14     {
15         //第一步:加载MySQL的JDBC的驱动
16         Class.forName("com.mysql.jdbc.Driver");
17         
18         //取得连接的url,能访问MySQL数据库的用户名,密码;jsj:数据库名
19         String url = "jdbc:mysql://localhost:3306/jsj";        
20         String username = "root";
21         String password = "111";
22         
23         //第二步:创建与MySQL数据库的连接类的实例
24         Connection con = DriverManager.getConnection(url, username, password);        
25         return con;        
26     }
27     
28     
29     public static void main(String args[]) {
30         try
31         {
32             //第三步:获取连接类实例con,用con创建Statement对象类实例 sql_statement
33             Connection con = getConnection();            
34             Statement sql_statement = con.createStatement();
35             
36             /** *//************ 对数据库进行相关操作 ************/                
37             //如果同名数据库存在,删除
38             //sql_statement.executeUpdate("drop table if exists student");            
39             //执行了一个sql语句生成了一个名为student的表
40             //sql_statement.executeUpdate("create table student (id int not null auto_increment, name varchar(20) not null default 'name', math int not null default 60, primary key (id) ); ");
41             //向表中插入数据
42             //sql_statement.executeUpdate("insert student values(1, 'liying', 98)");
43             //sql_statement.executeUpdate("insert student values(2, 'jiangshan', 88)");
44             //sql_statement.executeUpdate("insert student values(3, 'wangjiawu', 78)");
45             //sql_statement.executeUpdate("insert student values(4, 'duchangfeng', 100)");
46             //---以上操作不实用,但是列出来作为参考---
47             
48             //第四步:执行查询,用ResultSet类的对象,返回查询的结果
49             String query = "select * from student";            
50             ResultSet result = sql_statement.executeQuery(query);
51             /** *//************ 对数据库进行相关操作 ************/
52             
53             System.out.println("Student表中的数据如下:");
54             System.out.println("------------------------");
55             System.out.println("学号" + " " + "姓名" + " " + "数据成绩 ");
56             System.out.println("------------------------");
57             
58             //对获得的查询结果进行处理,对Result类的对象进行操作
59             while (result.next()) 
60             {
61                 int number          = result.getInt("sno");
62                 String name      = result.getString("sname");
63                 String mathScore = result.getString("sgrade");
64                 //取得数据库中的数据
65                 System.out.println(" " + number + " " + name + " " + mathScore);                
66             }
67             
68             //关闭连接和声明
69             sql_statement.close();
70             con.close();
71             
72         } catch(java.lang.ClassNotFoundException e) {
73             //加载JDBC错误,所要用的驱动没有找到
74             System.err.print("ClassNotFoundException");
75             //其他错误
76             System.err.println(e.getMessage());
77         } catch (SQLException ex) {
78             //显示数据库连接错误或查询错误
79             System.err.println("SQLException: " + ex.getMessage());
80         }
81     }
82 
83 }

 

以上大部分内容整理自网络,感谢猿猿们的无私奉献~~具体的步骤、强大的互联网上都比较容易查询的到,这里不再赘述,现加上几点个人认为需要注意的地方:

1)  关于mysql-connector-java-5.1.22-bin.jar 的存放位置。在MyEclipse具体的java工程中新建一存放jar 包的文件夹(如 lib),将mysql-connector-java-5.1.22-bin.jar 复制到文件夹中,选中jar包右击--->Build Path--->Add To Build Path,即可。

若出现

ClassNotFoundExceptioncom.mysql.jdbc.Driver

的提示,则正是由于缺少导入jar包所造成的。

2)  如果已经对MySQL的使用很熟悉,则可忽略这条。个人在测试连接时,老是出现这样的异常提示:

SQLException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

这正是由于个人对MySQL使用不熟悉,对MySQL进行了诸多尝试性的操作,不知何时无意中将MySQL的服务(如果在安装MySQL时没有更改的话,缺省服务名就是MySQL)关闭,解决方法开启此服务即可。控制面板--->管理工具--->服务--->MySQL--->选择启用。

3)在使用上面的代码测试时,需要更改的地方有:

//MySQL数据库的用户名,密码,数据库名
19         String url = "jdbc:mysql://localhost:3306/jsj";       
20         String username = "root";
21         String password = "111";
以及具体基本表中的所要查询的字段名

61                 int number          = result.getInt("sno");
62                 String name      = result.getString("sname");
63 String mathScore = result.getString("sgrade");

多多分享,有问题欢迎交流~~


推荐阅读
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • Java自带的观察者模式及实现方法详解
    本文介绍了Java自带的观察者模式,包括Observer和Observable对象的定义和使用方法。通过添加观察者和设置内部标志位,当被观察者中的事件发生变化时,通知观察者对象并执行相应的操作。实现观察者模式非常简单,只需继承Observable类和实现Observer接口即可。详情请参考Java官方api文档。 ... [详细]
author-avatar
冬眠2502917261
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有