Eclipse连接MySQL数据库

 
一、安装JDK1.6和TOMCAT6.0
二、安装Eclipse3.2(解压)
三、安装MYSQL5.0
1、 MYSQL的安装:连续单击NEXT按钮,直到出现有“Skip Sign_Up”选项的界面,单击此选项,然后继续单击NEXT按钮,直到安装完成。
2、 运行MYSQL配置向导,连续七次单击NEXT按钮,在接下来出现的界面里。选择第三项,并在下拉框中选择中国字符集“gbk”;然后两次单击NEXT按钮,在出现的界面中设置超级管理员用户的密码(设为“123456”),然后在新窗口中单击EXECUTE按钮,配置向导开始将设置信息写入MYSQL配置文件(即安装目录下的my.ini)
3、 若在写入配置文件时出错,请重新安装并配置试试
四、在Eclipse插件中连接MYSQL数据库
1、 新建一个插件项目,命名为sms(新建—other—插件开发—插件项目)
2、 安装JDBC连接包(解压得到mysql-connector-java-3.1.6-bin.jar),把它复制到插件项目sms的根目录下的lib文件夹中,并在项目的属性—JAVA构建路径—库的选项卡里单击添加外部JAR包,然后找到mysql-connector-java-3.1.6-bin.jar点确定就行了。这就使得编写程序时能够使用JDBC连接包中的类,要能够加入对包的引用,就必须修改plugin.xml文件的<runtime>项,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
   <runtime>
    <library name = "sms.jar" >
       <export name = "*" />
    </library>
    <library name= "lib/mysql-connector-java-3.1.6-bin.jar" />
   </runtime>
  
   <extension
         point= "org.eclipse.ui.actionSets" >
      <actionSet
            label= "Sample Action Set"
            visible= "true"
            id= "myplugin.actionSet" >
         <menu
                label= "Sample &amp;Menu"
               id= "sampleMenu" >
            <separator
                  name= "sampleGroup" >
            </separator>
         </menu>
         <action
               label= "&amp;Sample Action"
               icon= "icons/sample.gif"
               class= "myplugin.actions.SampleAction"
               tooltip= "Hello, Eclipse world"
               menubarPath= "sampleMenu/sampleGroup"
               toolbarPath= "sampleGroup"
               id= "myplugin.actions.SampleAction" >
         </action>
      </actionSet>
   </extension>
</plugin>
 
3、 在项目里新建一个包,命名为cn.com.chengang.sms,然后在这个包下新建一个创建数据库和表的JAVA应用程序 createDB.java,代码如下:
packagecn.com.chengang.sms ;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class createDB{
public static void main(String[] args){
Connection con= null ;
Statement sm= null ;
try {
// 装载 JDBC 驱动程序
Class.forName( "com.mysql.jdbc.Driver" );
// 连接数据库
con=DriverManager.getConnection( "jdbc:mysql://localhost/test?useUnicose=true&characterEncoding=utf8" , "root" , "123456" );
// 创建语句对象
sm=con.createStatement();
// 如果存在 sms 先删除它再创建
sm.addBatch( "DROP DATABASE IF EXISTS sms;" );
sm.addBatch( "CREATE DATABASE sms;" );
// 将当前的数据库转到 sms
sm.addBatch( "USE sms;" );
// 如果存在 test_table 表就先删除它再创建
sm.addBatch( "DROP TABLE IF EXISTS test_table;" );
// 得到创建数据表的 SQL 语句
StringBuffer sb= new StringBuffer();
sb.append( "CREATE TABLE test_table(" ); // 创建了 test_table 的表
sb.append( "Id int(6)unsigned NOT NULL auto_increment," );
sb.append( "name0 varchar(10)default NULL," );
sb.append( "name1 varchar(10)character set gb2312 default NULL," );
sb.append( "name2 varchar(10)character set gbk default NULL," );
sb.append( "PRIMARY KEY (Id)" );
sb.append( ")ENGINE=InnoDB DEFAULT CHARSET=utf8;" );
sm.addBatch(sb.toString());
// 提交执行
sm.executeBatch();
} catch (ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e){
e.printStackTrace();
} finally {
if (sm!= null ){
try {
sm.close();
} catch (SQLException e){}
sm= null ;}
if (con!= null ){
try {
con.close();
} catch (SQLException e){}
con= null ;
}
}
 }
}
4、在Eclipse中编译运行此JAVA应用程序,然后去MYSQL数据库中查看一下,就会发现新建了数据库 sms和表 test_table
5、 新建一个插入数据和查询数据的JAVA应用程序 InsertAndSelect .java,代码如下:
packagecn.com.chengang.sms ;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class InsertAndSelect {
         public static void main(String[] args) {
                   Connection con=null;
                   Statement sm=null;
                   ResultSet rs=null;
                   try{
//                          装载JDBC驱动程序
                            Class.forName("com.mysql.jdbc.Driver");
//                          连接数据库
                            con=DriverManager.getConnection("jdbc:mysql://localhost/sms?useUnicose=true&characterEncoding=utf8","root","123456");
//                          创建语句对象
                            sm=con.createStatement();
                            sm.executeUpdate("delete from test_table");
                            String s="jerry";
                            sm.executeUpdate("insert into test_table(name0) values ('"+s+"')");
                            sm.executeUpdate("insert into test_table(name1) values ('"+s+"')");
                            sm.executeUpdate("insert into test_table(name2) values ('"+s+"')");
                            //sm.executeUpdate("insert into test_table(name3) values ('"+s+"')");
                            rs=sm.executeQuery("select * from test_table");
                            while(rs.next()){                          System.out.println(rs.getInt("id")+"_"+rs.getString("name0")+"_"+rs.getString("name1")+"_"+rs.getString("name2"));
                            }
                   }catch (Exception e){
                            e.printStackTrace();
                   }finally{
                            if(rs!=null){
                                     try{
                                     rs.close();
                                     }catch(SQLException e){}
                                     rs=null;}
                            if(sm!=null){
                                     try{
                                     sm.close();
                                     }catch(SQLException e){}
                                     sm=null;}
                            if(con!=null){
                                     try{
                                     con.close();
                                     }catch(SQLException e){}
                                     con=null;}
                            }
         }
}
程序运行后,在Eclipse控制台打印结果如下所示:
1_jerry_null_null
2_null_jerry_null
3_null_null_jerry
MYSQL_FRONT 中查询表 test_table ,发现表中插入了三条记录,每个插入语句只针对一个字段插入“ jerry ”,即:
Id     name0       name1       name2
1      jerry       null        null
2      null        jerry       null
3      null        null        jerry
 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值