MySQL的Java连接器在Eclipse中的配置及使用(JDBC)
2010-08-05 17:31
495 查看
最近学习了一下Java 访问 MySQL 数据库的基本知识,觉得在mysql-connector-java-version.jar的Eclipse配置和数据库访问上有些小的收获。一为防止以后忘记而暂且记录下来,二也许对一些和我一样的新手有些帮助。
详细的配置和编程步骤如下:
1、要想用Java访问MySQL数据库,我们首先要下载MySQL和Java的jdbc,我试了两个较为不同的版本:mysql-connector-java-5.1.13和mysql-connector-java-3.1.11,下载地址请到MySQL的官方网站,也可在我的资源中下载。http://aduwuhan.download.csdn.net/
2、在Eclipse中导入mysql-connector-java-version.jar包(在项目名上右键,单击“属性”,再在选择Libraries,导入外部Jar即可)。
对于mysql-connector-java-3.1.11.jar,我们只需直接导入我们下载好的jar包即可),但对于mysql-connector-java-5.1.13,由于我也是第一次使用MySQL,且MySQL提供的文件是一个zip压缩文件,还提供了java源代码,因而导致在导入jar时我没有看到压缩包里的.jar文件,结果我很弱智地想直接导入zip文件(奇怪的是Eclipse也导入进去了!),显然不能运行了,结果浪费了很长时间。最后在无意中才发现的我朝思暮想的jar文件。(它就是压缩包根目录下的mysql-connector-java-5.1.13-bin.jar文件)
3、导入所需的jar包之后,我们就可以开始写程序了。编写java访问mysql数据库的程序一般需要以下几步:
3.1、首先,import必需的执行sql语言的package,如
3.2、注册数据库连接驱动,为数据库操作做准备。注册方法如下:
3.4、连接数据库,一般使用getConnection(url, user, pwd)方法:
3.5、数据库操作。在这里我以查询数据库中sc表中的信息为例做说明。
其中sc表包括(sno, cno, score)三列,分别表示学号,课程号,分数。(注意:下面的部分只适用于sc表,对于其它表需要修改相应的列名才能使用)
3.6、关闭数据库
注意:在以上步骤中要注意异常的抛出处理,详细情况请看下面的源程序。
4、最后附一个我自己写的java源程序。
以上就是我的一小点总结,若哪位高手认为有什么问题,还望指教,我不甚感激!
Thank you!
详细的配置和编程步骤如下:
1、要想用Java访问MySQL数据库,我们首先要下载MySQL和Java的jdbc,我试了两个较为不同的版本:mysql-connector-java-5.1.13和mysql-connector-java-3.1.11,下载地址请到MySQL的官方网站,也可在我的资源中下载。http://aduwuhan.download.csdn.net/
2、在Eclipse中导入mysql-connector-java-version.jar包(在项目名上右键,单击“属性”,再在选择Libraries,导入外部Jar即可)。
对于mysql-connector-java-3.1.11.jar,我们只需直接导入我们下载好的jar包即可),但对于mysql-connector-java-5.1.13,由于我也是第一次使用MySQL,且MySQL提供的文件是一个zip压缩文件,还提供了java源代码,因而导致在导入jar时我没有看到压缩包里的.jar文件,结果我很弱智地想直接导入zip文件(奇怪的是Eclipse也导入进去了!),显然不能运行了,结果浪费了很长时间。最后在无意中才发现的我朝思暮想的jar文件。(它就是压缩包根目录下的mysql-connector-java-5.1.13-bin.jar文件)
3、导入所需的jar包之后,我们就可以开始写程序了。编写java访问mysql数据库的程序一般需要以下几步:
3.1、首先,import必需的执行sql语言的package,如
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; //其实也可一句话搞定:import java.sql.*;
3.2、注册数据库连接驱动,为数据库操作做准备。注册方法如下:
String driverName = null; driverName = "org.gjt.mm.mysql.Driver"; //此句话与下面这一句话效果相同 //driverName = "com.mysql.jdbc.Driver"; //从目前我所了解的情况来看上下两种方法都一样 //装载MySQL驱动 Class.forName(driverName); //DriverManager.registerDriver(new org.gjt.mm.mysql.Driver()); //这句话可需可不需 //DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //同上
3.4、连接数据库,一般使用getConnection(url, user, pwd)方法:
public static String URL = "jdbc:mysql://localhost:3306/"; //mysql的数据库路径 private static String USER = null; //用户名 private static String PWD = null; //密码 private static Connection conn = null; //数据库连接名 conn = DriverManager.getConnection(URL, USER, PWD); //连接数据库
3.5、数据库操作。在这里我以查询数据库中sc表中的信息为例做说明。
其中sc表包括(sno, cno, score)三列,分别表示学号,课程号,分数。(注意:下面的部分只适用于sc表,对于其它表需要修改相应的列名才能使用)
Statement stmt = conn.createStatement(); //创建statement对象 ResultSet rs = stmt.executeQuery(sql); //返回从数据中检索到的数据 while(rs.next()) //显示返回的记录 { String sno = = rs.getString("sno"); //得到sno列的值 String cno = rs.getString("cno"); //得到cno列的值 int score = rs.getInt("score"); //得到score列的值 String str =sno + "/t" + cno + "/t" + score; System.out.println(str); //输出一行的结果 } rs.close(); //关闭数据集 stmt.close();
3.6、关闭数据库
if(!conn.isClosed()) //判断数据库是否已经断开 { conn.close(); //全局变量 conn = null; user = null; //局部变量 pwd = null; //局部变量 } else System.out.println("数据库已关闭!/n");
注意:在以上步骤中要注意异常的抛出处理,详细情况请看下面的源程序。
4、最后附一个我自己写的java源程序。
//import java.sql.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DBConnect { /** * @param args */ public static String URL = "jdbc:mysql://localhost:3306/StudentManage"; private static String DBNAME = null; /* private static String USER = null; private static String PWD = null; private static String SQL = null; */ private static Connection conn = null; //数据库连接函数 private static void DBConnection(String user, String pwd) { System.out.println("数据库连接:"); if(conn == null) //判断数据库连接是否存在 { try { String driverName = null; driverName = "org.gjt.mm.mysql.Driver"; //此句话与下面这一句话效果相同 // driverName = "com.mysql.jdbc.Driver"; //装载MySQL驱动 Class.forName(driverName); // DriverManager.registerDriver(new org.gjt.mm.mysql.Driver()); // DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //此句话可需可不需 //连接数据库 if(user == null) conn = DriverManager.getConnection(URL); else conn = DriverManager.getConnection(URL, user, pwd); //显示连接成功 System.out.println("数据库连接成功! 用户名:" + user + " 密码:" + pwd + "/n"); }catch(ClassNotFoundException ce) { System.out.println("ClassNotFoundException 数据库连接失败!/n"); ce.printStackTrace(); }catch(SQLException se) { System.out.println("SQLException 数据库连接失败!/n"); } } else System.out.println("数据库已经连接!/n"); } //关闭数据库连接 private static void DBClose(String user, String pwd) { System.out.println("断开数据库连接:"); if(conn != null) { try { if(!conn.isClosed()) //判断数据库是否已经断开 { conn.close(); conn = null; user = null; pwd = null; System.out.println("数据库断开成功!"); } else System.out.println("数据库已关闭!/n"); }catch(SQLException se) { System.out.println(se.getMessage() + "数据库关闭失败!"); se.printStackTrace(); } } else System.out.println("数据库连接不存在!/n"); } //执行sql语句 private static void QueryExecute(String sql) { try { if(conn != null && !conn.isClosed()) { Statement stmt = conn.createStatement(); //创建statement对象 if(sql == null) System.out.println("sql语句不可为空!/n"); else { ResultSet rs = stmt.executeQuery(sql); //返回从数据中检索到的数据 System.out.println("sno/tcno/tscore"); while(rs.next()) //显示返回的记录 //注意:此处只适合于sc表,对于其它表需要酌情修改列名即可 { String sno = null; sno = rs.getString("sno"); String cno = rs.getString("cno"); int score = rs.getInt("score"); String str =sno + "/t" + cno + "/t" + score; System.out.println(str); } rs.close(); //关闭数据集 stmt.close(); } } else System.out.println("数据库已经关闭或连接不存在!/n"); }catch(SQLException se) { System.out.println("sql执行失败!/n"); se.printStackTrace(); } } public static void main(String[] args) { // TODO Auto-generated method stub String user = "manager_1"; String pwd = "manager_1"; String sql = "select * from StudentManage.sc"; //必须添上数据库名,否则出现no database select的异常 DBConnection(user, pwd); QueryExecute(sql); DBClose(user, pwd); } }
以上就是我的一小点总结,若哪位高手认为有什么问题,还望指教,我不甚感激!
Thank you!
相关文章推荐
- 使用Eclipse运行Java代码调用JDBC读写MySQL中文变成问号的终极解决办法
- JavaConfig配置spring使用tomcat jdbc pool 后报找不到"com.mysql.jdbc.Driver"类
- java中使用jdbc配置连接串时mysql 5.6与5.7版本“编码”参数有区别!
- 使用Eclipse运行Java代码调用JDBC读写MySQL中文变成问号的终极解决办法
- MySQL从安装到使用(运用JDBC技术访问)JAVA(Eclipse)
- Java之Eclipse的使用、优化配置—总结
- JAVA中使用JDBC连接MySQL
- eclipse上的java编程助手软件的使用与配置
- 基于Servlet、JSP、JDBC、MySQL登录模块(包括使用的过滤器和配置)
- JAVA使用JDBC连接MySQl
- eclipse for java EE中jdbc配置与连接测试
- Eclipse Java EE IDE 中使用Tomcat 5X / 6X 的一些问题(配置,发布相关)
- Eclipse中使用Checkstyle,checkstyle插件检查java代码的自定义配置文件
- 使用tomcat产生java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题
- Java使用mysql-jdbc连接MySQL出现如下警告:
- JAVA 使用 JDBC 连接 mysql
- 配置JAVA+Tomcat+MySQL+JDBC驱动
- 基于Servlet、JSP、JDBC、MySQL的登录模块(含过滤器的使用和配置)
- java,eclipse,tomcat,mysql,mysql-front的配置以及环境设置
- 在Java应用程序中使用MySql 工具使用Eclipse+Navicat+MySql