转载自:http://www.jb51.net/article/31876.htm

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.代码测试

 package ts.jsj.lyh;

 import java.sql.*;

 /** */
/**
* 使用JDBC连接数据库MySQL的过程 DataBase:JSJ, table:student;
*
* @author DuChangfeng 2008 09 18
*/
public class JDBCTest { public static Connection getConnection() throws SQLException,
java.lang.ClassNotFoundException {
// 第一步:加载MySQL的JDBC的驱动
Class.forName("com.mysql.jdbc.Driver"); // 取得连接的url,能访问MySQL数据库的用户名,密码;jsj:数据库名
String url = "jdbc:mysql://localhost:3306/mydata";
String username = "root";
String password = ""; // 第二步:创建与MySQL数据库的连接类的实例
Connection con = DriverManager.getConnection(url, username, password);
return con;
} public static void main(String args[]) {
try {
// 第三步:获取连接类实例con,用con创建Statement对象类实例 sql_statement
Connection con = getConnection();
Statement sql_statement = con.createStatement(); /** */
/************ 对数据库进行相关操作 ************/
// 如果同名数据库存在,删除
// sql_statement.executeUpdate("drop table if exists student");
// 执行了一个sql语句生成了一个名为student的表
// 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) ); ");
// 向表中插入数据
// sql_statement.executeUpdate("insert student values(1, 'liying', 98)");
// sql_statement.executeUpdate("insert student values(2, 'jiangshan', 88)");
// sql_statement.executeUpdate("insert student values(3, 'wangjiawu', 78)");
// sql_statement.executeUpdate("insert student values(4, 'duchangfeng', 100)");
// ---以上操作不实用,但是列出来作为参考--- // 第四步:执行查询,用ResultSet类的对象,返回查询的结果
String query = "select * from student";
ResultSet result = sql_statement.executeQuery(query);
/** */
/************ 对数据库进行相关操作 ************/ System.out.println("Student表中的数据如下:");
System.out.println("------------------------");
System.out.println("学号" + " " + "姓名" + " " + "数据成绩 ");
System.out.println("------------------------"); // 对获得的查询结果进行处理,对Result类的对象进行操作
while (result.next()) {
int number = result.getInt("sno");
String name = result.getString("sname");
String mathScore = result.getString("sgrade");
// 取得数据库中的数据
System.out.println(" " + number + " " + name + " " + mathScore);
} // 关闭连接和声明
sql_statement.close();
con.close(); } catch (java.lang.ClassNotFoundException e) {
// 加载JDBC错误,所要用的驱动没有找到
System.err.print("ClassNotFoundException");
// 其他错误
System.err.println(e.getMessage());
} catch (SQLException ex) {
// 显示数据库连接错误或查询错误
System.err.println("SQLException: " + ex.getMessage());
}
} }

加上几点个人认为需要注意的地方:

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数据库的用户名,密码,数据库名

 String url = "jdbc:mysql://localhost:3306/jsj";
String username = "root";
String password = "";

以及具体基本表中的所要查询的字段名:

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

最新文章

  1. Css中的两个重要概念:块状元素和内联元素
  2. MDI窗体容器--2016年12月15日
  3. [No00007F]2016-面经[下] 英文简历写作技巧
  4. OpenCV学习 物体检测 人脸识别 填充颜色
  5. Kubuntu麦克风音频无声音
  6. Android中使用WebView, WebChromeClient和WebViewClient加载网页 (能够执行js)
  7. oracle PL/SQL(procedure language/SQL)程序设计(续集)之PL/SQL函数
  8. P125、面试题19:二叉树的镜像
  9. 微信支付JS API使用心得
  10. geektool--一款很geek的工具
  11. MVC调试异常--未能将脚本调试器附加到计算机
  12. 自己定义控件-GifView
  13. 团队作业8——第二次项目冲刺(Beta阶段)(冲刺计划)
  14. asp.net core 系列 17 通用主机 IHostBuilder
  15. Photoshop 基础七 位图 矢量图 栅格化
  16. ERP发货系统的修改(四十三)
  17. IIS下使用 HTTP/2
  18. 论文阅读:Memory Networks
  19. python中__name__的使用
  20. 002---rest_framework认证组件

热门文章

  1. [android开发之内容更新类APP]二、这几日的结果
  2. [Immutable,js] Iterating Over an Immutable.js Map()
  3. Android窗口管理服务WindowManagerService切换Activity窗口(App Transition)的过程分析
  4. gcc基本用法
  5. html5前端开发笔记-个人中心
  6. 注册界面设计及实现之(三)SharedPerferences实现数据暂存
  7. 写一个Windows上的守护进程(5)文件系统重定向
  8. poj 2112 floyd+Dinic最大流+二分最小值
  9. linux命令--virtualenv
  10. (原+转)ubuntu16中安装opencv2.4.11