望尘轩中一盏茶

统计

留言簿

友情链接

阅读排行榜

评论排行榜

Java中使用JDBC访问MySQL数据库

 
使用JDBC访问MySQL数据库也有两种方法(这里不介绍使用APP SERVER的数据库连接池访问数据库),一种是使用JDBC-ODBC桥方式连接,这里不作介绍了,可以参考连接SQL Server2000的方式。这里主要介绍使用MySQL提供的JDBC驱动程序来连接:
    首先下载(http://www.mysql.com)、安装并配置MySQL,下载MySQL5.1并进行安装。安装完成之后接着进行配置,配置时选择Standard Configuration(标准配置)即可,然后选择服务器名字MySQL51,并选中"Include Bin Directory in Windows PATH",之后输入root用户的密码,最后执行配置就可以了。这里还有一点,如果要使MySQL支持中文,还需要更改一下配置信息,更改MYSQL安装目录下的my.ini文件里的内容。把default-character-set=中的拉丁编码改为utf8,然后保存,重新启动MYSQL服务器,之后建立的数据库及数据库中的表的编码就是UTF8了,表中就可以插入中文了。安装完成后,下一步要进行的是安装MYSQL JDBC驱动程序。
    到http://mysql.cs.pu.edu.tw/Downloads/Connector-J/mysql-connector-java-5.1.2-beta.zip下载MYSQL5.1的JDBC驱动程序,解压缩到你放JDBC驱动程序的位置就可以了,不需要安装。然后设置Classpath环境变量,在Classpath环境变量里添加JDBC驱动程序,如我的是添加D:\JDBC_Driver\mysql\mysql-connector-java-5.1.2-beta\mysql-connector-java-5.1.2-beta-bin.jar。这样就可以了,可以写程序进行测试了。
    在mysql里创建数据库mydb,并在mydb里建一个表格studinfo如下:
     create database mydb;

     use mydb;
     create table studinfo
     (ID varchar(10) primary key,
      Name varchar(30),
      Age int);
然后使用下面的程序往数据库里插入一条记录并读出来打印:
 1 package jdbc.test1;
 2 
 3 import java.sql.*;
 4 
 5 /**
 6  * @author wzhongyu
 7  *
 8  */
 9 public class JDBCDemo {
10 
11     /**
12      * @param args
13      */
14     public static void main(String[] args) {
15         String user = "root";
16         String password = "123456";
17         String url = "jdbc:mysql://localhost:3306/mydb";
18         String driver = "com.mysql.jdbc.Driver";
19         //String driver = "org.gjt.mm.mysql.Driver";
20         String tableName = "studinfo";
21         String sqlstr;
22         Connection con = null;
23         Statement stmt = null;
24         ResultSet rs = null;
25         try{
26             Class.forName(driver);
27             con = DriverManager.getConnection(url, user, password);
28             stmt = con.createStatement();
29             
30             sqlstr = "insert into "+tableName+" values ('20000908','honey',21)";
31             stmt.executeUpdate(sqlstr);
32             
33             sqlstr = "select * from "+tableName;
34             rs = stmt.executeQuery(sqlstr);
35             
36             ResultSetMetaData rsmd = rs.getMetaData();
37             int j = 0;
38             j = rsmd.getColumnCount();
39             for(int k = 0; k<j; k++)
40             {
41                 System.out.print(rsmd.getCatalogName(k+1));
42                 System.out.print("\t");
43             }
44             System.out.println();
45             while(rs.next())
46             {
47                 for(int i=0;i<j;i++)
48                 {
49                     System.out.print(rs.getString(i+1));
50                     System.out.print("\t");
51                 }
52                 System.out.println();
53             }
54         }
55         catch(ClassNotFoundException e1)
56         {
57             System.out.println("数据库驱动不存在!");
58             System.out.println(e1.toString());
59         }
60         catch(SQLException e2)
61         {
62             System.out.println("数据库存在异常!");
63             System.out.println(e2.toString());
64         }
65         finally
66         {
67             try
68             {
69                 if(rs != null) rs.close();
70                 if(stmt != null) stmt.close();
71                 if(con != null) con.close();
72             }
73             catch(SQLException e)
74             {
75                 System.out.println(e.toString());
76             }            
77         }
78     }
79 }
80 

程序运行后会打印出插入表中的数据。
    如果要在eclipse中运行这个程序,首先需要在eclipse(这里用的是MyEclipse)中配置数据库。打开eclipse,选择window-->Preferences-->MyEclipse-->Database Explorer-->Database Drivers,点链接进入到DB Browser,右键点空白处-->new,新建一个数据库连接。要填入的东西如下:
Driver template:MySQL Connector/J
Driver name:MySQL Connector/J
Connection URL:jdbc:mysql://<hostname>[<:3306>]/<dbname>  (注上面选择MySQL Connector/J之后,这里会自动填入的)
User name:root
Password:123456  (注这里的密码是配置MYSQL时的密码)
在下面的Driver JARs框的右面点Add JARs,找到JDBC驱动程序mysql-connector-java-5.1.2-beta-bin.jar最后点OK就配置完成了。

    如果不喜欢MYSQL的在命令行上运行方式,可以到http://www.mysql.com上去下载一个GUI工具就可以了。

posted on 2007-08-05 16:07 wzhongyu 阅读(44955) 评论(3)  编辑  收藏 所属分类: Java学习

评论

# re: Java中使用JDBC访问MySQL数据库 2008-10-08 16:08 其实

System.out.print(rsmd.getCatalogName(k+1));
写错了  回复  更多评论   

# re: Java中使用JDBC访问MySQL数据库 2008-10-08 16:09 其实

System.out.print(rsmd.getColumnName(k + 1));  回复  更多评论   

# re: Java中使用JDBC访问MySQL数据库[未登录] 2010-06-01 10:27 haha

楼上的够细心,赞一个  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
我的便捷门:综合频道 数码频道 商城频道 电器频道 男人频道 女人频道 居家玩具 美容频道 饰品鞋包 食品频道 台湾馆频道