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

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

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

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         try31         {32             //第三步:获取连接类实例con,用con创建Statement对象类实例 sql_statement33             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");

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

bitsCN.com
推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文介绍了通过mysql命令查看mysql的安装路径的方法,提供了相应的sql语句,并希望对读者有参考价值。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
author-avatar
风行景逸-枣庄郊南店
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有