首页 > 代码库 > JDBC纯驱动方式连接MySQL

JDBC纯驱动方式连接MySQL

1 新建一个名为MysqlDemo的Java Project

 

2 从http://dev.mysql.com/downloads/connector/j/中下载最新的驱动包。

这里有.tar.gz和.zip两种格式的包,因为在windows下都可以解压缩,随便下一个都行。

技术分享

 

3 将下载的驱动包解压缩后,将MySQL-connector-Java-5.1.38-bin.jar拷贝到项目中

技术分享

 

 

4 在项目中建立一个名为MysqlDemo的Java类

技术分享

 

5 在MysqlDemo.java中编写代码

 

[java] view plain copy
 
 技术分享技术分享
  1. package com.abc;  
  2.   
  3.    
  4.   
  5. importjava.sql.DriverManager;  
  6.   
  7. importjava.sql.ResultSet;  
  8.   
  9. importjava.sql.SQLException;  
  10.   
  11. importjava.sql.Connection;  
  12.   
  13. importjava.sql.Statement;  
  14.   
  15.    
  16.   
  17. publicclass MysqlDemo {  
  18.   
  19.     publicstaticvoid main(String[] args) throws Exception {  
  20.   
  21.         Connection conn = null;  
  22.   
  23.         String sql;  
  24.   
  25.         // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值  
  26.   
  27.         // 避免中文乱码要指定useUnicode和characterEncoding  
  28.   
  29.         String url = "jdbc:mysql://localhost:3306/test?"  
  30.   
  31.                 + "user=root&password=123456&useUnicode=true&characterEncoding=UTF8";  
  32.   
  33.         try {  
  34.   
  35.             // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,  
  36.   
  37.             // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以  
  38.   
  39.             Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动  
  40.   
  41.             // or:  
  42.   
  43.             // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();  
  44.   
  45.             // or:  
  46.   
  47.             // new com.mysql.jdbc.Driver();  
  48.   
  49.             System.out.println("成功加载MySQL驱动程序");  
  50.   
  51.             // 一个Connection代表一个数据库连接  
  52.   
  53.             conn = DriverManager.getConnection(url);  
  54.   
  55.             // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等  
  56.   
  57.             Statement stmt = conn.createStatement();  
  58.   
  59.             sql = "createtable student(NO char(20),name varchar(20),primary key(NO))";  
  60.   
  61.             intresult = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功  
  62.   
  63.             if (result != -1) {  
  64.   
  65.                 System.out.println("创建数据表成功");  
  66.   
  67.                 sql = "insert into student(NO,name) values(‘2016001‘,‘刘大‘)";  
  68.   
  69.                 result = stmt.executeUpdate(sql);  
  70.   
  71.                 sql = "insert into student(NO,name) values(‘2016002‘,‘陈二‘)";  
  72.   
  73.                 result = stmt.executeUpdate(sql);  
  74.   
  75.                 sql = "select * from student";  
  76.   
  77.                 ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值  
  78.   
  79.                 System.out.println("学号\t姓名");  
  80.   
  81.                 while (rs.next()) {  
  82.   
  83.                     System.out.println(rs.getString(1)+ "\t" + rs.getString(2));// 入如果返回的是int类型可以用getInt()  
  84.   
  85.                 }  
  86.   
  87.             }  
  88.   
  89.         } catch(SQLException e) {  
  90.   
  91.             System.out.println("MySQL操作错误");  
  92.   
  93.             e.printStackTrace();  
  94.   
  95.         } catch (Exception e) {  
  96.   
  97.             e.printStackTrace();  
  98.   
  99.         } finally {  
  100.   
  101.             conn.close();  
  102.   
  103.         }  
  104.   
  105.     }  
  106.   
  107. }  

 

 

运行结果:

技术分享

JDBC纯驱动方式连接MySQL