Java访问MySQL

如何使用Java访问MySQL数据库


Java语言访问MySQL Server数据库,需按以下步骤实现。


    第1步  获取Java与MySQL的连接器,可以从MySQL的官方网站上下载,下载地址为http://dev.mysql.com/downloads/connector/j/。

 

第2步  将下载的包存放在自己机器上jdk安装目录下面的jre目录下面的lib目录下面的ext目录中,在程序中导入与数据库操作相关的对象。

 

import java.sql.Connection;     //导入数据库连接对象

import java.sql.DriverManager;  //导入数据库驱动管理对象

import java.sql.ResultSet;      //导入数据记录集对象

import java.sql.SQLException;   //导入数据SQL操作异常对象

import java.sql.Statement;      //导入SQL操作接口对象


第3步:在程序中写入如下内容

 

String url; //连接数据库的字符串

String sql; //执行数据sql查询操作的字符串

Connection conn; //数据库连接变量

Statement st; //数据库操作对象

ResultSet rs; //数据记录集对象

        

url "jdbc:mysql://localhost:3306/test?user=root&password="; //在程序中只要修改这句,就可以实现数据库连接

        

try {

    conn DriverManager.getConnection(url);

    st conn.createStatement();

    sql "select from test"; //只要修改这句,就可以实现各种查询操作

    rs=st.executeQuery(sql); //执行数据查询

 

    while(rs.next())

    {

        System.out.println(rs.getString(1)); //获得数据表test中第1个字段的数据,该字段为字符串类型

        System.out.println(rs.getString(2)); //获得数据表test中第2个字段的数据,该字段为字符串类型

     }

     rs.close(); //关闭数据记录集

     conn.close();    //关闭数据库连接

 catch (SQLException e) {

     System.out.println("Error:"+e.toString()+e.getMessage());

}



Java 访问MySQL的小例子

Java访问MySQL,需要有mysql.jar包,这个需要提前准备好。在java中引入mysql.jar有两种方法,下面将详细介绍。

(一)新建项目时,通过导入外部jar的方法:

(1)打开myeclipse,新建java project,命名为JDBCMysql ,然后点击Next(注意,这里先不要忙着点击finish),如图:

 

点击Libraries-->Add External jars-->,将mysql.jar 导入,然后点击finish。如图:

 

这个时候,可以看到,mysql.jar 已经被导入了

 

(二)第一种方法并不好,这种jar包使用的是绝对路径,(比如D:\java\jars),如果项目换一台电脑或者jar包换了一个地方,那就不能用了,所以,使用上面的方法,不利于项目的扩展。下面介绍第二种方法。

(1)复制mysql.jar ,右击新建的项目,选择paste,这时可以发现mysql.jar已经被复制到了当前项目中了。

(2)右键mysql.jar,选择Build Path-->Add to Build Path,这时可以发现,在项目中多了一个Reference Libraries 目录,里面有刚才导入的mysql.jar。

这种情况下,mysql.jar 已经复制到了当前项目,即使换台电脑运行本项目,mysql.jar包也会跟着被复制,而找不到mysql.jar。这种方法,有良好的扩展性。推荐使用这种方法。

   导完了mysql.jar包后,接着就来写一个java小程序,测试java连接mysql。

java连接mysql,主要有以下几个步骤:

(1)注册驱动

[java]  view plain  copy
 print ?
  1. <span style="font-size:18px;">//1.注册驱动  
  2.   try {  
  3.    Class.forName("com.mysql.jdbc.Driver");  
  4.   } catch (ClassNotFoundException e) {  
  5.    // TODO Auto-generated catch block  
  6.    e.printStackTrace();  
  7.   }</span>  

(2)创建数据库的连接
 

[java]  view plain  copy
 print ?
  1. <span style="font-size:18px;">//2.创建数据库的连接  
  2. //数据库用户名和密码要改成自己的  
  3. //useUnicode=true&characterEncoding=GBK:支持中文  
  4. java.sql.Connection conn = java.sql.DriverManager.getConnection(  
  5.             "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK","root""wxweven4814");</span>  


(3)获取表达式

[java]  view plain  copy
 print ?
  1. <span style="font-size:18px;">//3.获取表达式SQL  
  2. java.sql.Statement stmt = conn.createStatement();</span>  

(4)执行SQL语句

[java]  view plain  copy
 print ?
  1. <span style="font-size:18px;">//4.执行SQL  
  2. String sql = "select * from test";  
  3. java.sql.ResultSet res = stmt.executeQuery(sql);</span>  

(5)打印结果集里的数据
 

[java]  view plain  copy
 print ?
  1. <span style="font-size:18px;">//5.打印结果集里的数据  
  2. while(res.next()) {  
  3.     System.out.print("the id: ");  
  4.     System.out.println(res.getInt(1));  
  5.     System.out.print("the user: ");  
  6.     System.out.println(res.getString("user"));  
  7.     System.out.print("the address: ");  
  8.     System.out.println(res.getString("addr"));  
  9.     System.out.println();  
  10. }</span>  

(6)释放资源,关闭连接(这是一个良好的习惯)
  

[java]  view plain  copy
 print ?
  1. <span style="font-size:18px;">//6.释放资源,关闭连接(这是一个良好的习惯)  
  2. res.close();  
  3. stmt.close();  
  4. conn.close();</span>  

 

运行结果如下图:


注意,以上代码只是片段,实际运行时会抛出异常,运用myeclipse强大的自动抛出异常或者try、catch功能,就可以正确运行了。同时,需要你的mysql数据库中有相应的表。

居然不能上传附件,好吧,那我就只好把源代码贴出来了~~

[html]  view plain  copy
 print ?
  1. /**  
  2.  * @author wxweven  
  3.  *  
  4.  */  
  5. public class JDBCTest {  
  6.   
  7.     /**  
  8.      * @param args  
  9.      * @throws SQLException   
  10.      */  
  11.     public static void main(String[] args) throws SQLException {  
  12.         //1.注册驱动  
  13.         try {  
  14.             Class.forName("com.mysql.jdbc.Driver");  
  15.         } catch (ClassNotFoundException e) {  
  16.             // TODO Auto-generated catch block  
  17.             e.printStackTrace();  
  18.         }  
  19.           
  20.         //2.创建数据库的连接  
  21.         //useUnicode=true&characterEncoding=GBK:支持中文  
  22.         java.sql.Connection conn = java.sql.DriverManager.getConnection(  
  23.                 "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK",  
  24.                 "root", "wxweven4814");  
  25.           
  26.         //3获取表达式SQL  
  27.         java.sql.Statement stmt = conn.createStatement();  
  28.           
  29.         //4.执行SQL  
  30.         String sql = "select * from test";  
  31.         java.sql.ResultSet res = stmt.executeQuery(sql);  
  32.           
  33.         //5.打印结果集里的数据  
  34.         while(res.next()) {  
  35.             System.out.print("the id: ");  
  36.             System.out.println(res.getInt(1));  
  37.             System.out.print("the user: ");  
  38.             System.out.println(res.getString("user"));  
  39.             System.out.print("the address: ");  
  40.             System.out.println(res.getString("addr"));  
  41.             System.out.println();  
  42.         }  
  43.           
  44.           
  45.         //测试插入数据库的功能:  
  46.         //String inSql = "insert into test(user,addr) values('插入2','新地址2')";  
  47.         //stmt.executeUpdate(inSql);  
  48.           
  49.         //6.释放资源,关闭连接(这是一个良好的习惯)  
  50.         res.close();  
  51.         stmt.close();  
  52.         conn.close();  
  53.     }  
  54.   
  55. }  

Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】


JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序

如果要使用数据库就要添加数据库的驱动,不同的数据库有不用的驱动,这里就不一一说明,添加jar程序驱动包的方法就不在这里解释,

另一个文章里面有介绍http://www.cnblogs.com/taoweiji/archive/2012/12/11/2812295.html

下面是一个实例去介绍mysql数据库的连接,其它数据库的方法也是差不多的。

/**
  * @author :陶伟基 ,微博:http://weibo.com/taoandtao
  * @date :2012/12/11
  * @place:广州大学华软软件学院
  */
import  java.sql.DriverManager;
import  java.sql.ResultSet;
import  java.sql.SQLException;
import  java.sql.Connection;
import  java.sql.Statement;
 
 
public  class  MysqlDemo {
     public  static  void  main(String[] args) throws  Exception {
         Connection conn = null ;
         String sql;
         // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
         // 避免中文乱码要指定useUnicode和characterEncoding
         // 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,
         // 下面语句之前就要先创建javademo数据库
         String url = "jdbc:mysql://localhost:3306/javademo?"
                 + "user=root&password=root&useUnicode=true&characterEncoding=UTF8" ;
 
         try  {
             // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
             // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
             Class.forName( "com.mysql.jdbc.Driver" ); // 动态加载mysql驱动
             // or:
             // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
             // or:
             // new com.mysql.jdbc.Driver();
 
             System.out.println( "成功加载MySQL驱动程序" );
             // 一个Connection代表一个数据库连接
             conn = DriverManager.getConnection(url);
             // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
             Statement stmt = conn.createStatement();
             sql = "create table student(NO char(20),name varchar(20),primary key(NO))" ;
             int  result = stmt.executeUpdate(sql); // executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
             if  (result != - 1 ) {
                 System.out.println( "创建数据表成功" );
                 sql = "insert into student(NO,name) values('2012001','陶伟基')" ;
                 result = stmt.executeUpdate(sql);
                 sql = "insert into student(NO,name) values('2012002','周小俊')" ;
                 result = stmt.executeUpdate(sql);
                 sql = "select * from student" ;
                 ResultSet rs = stmt.executeQuery(sql); // executeQuery会返回结果的集合,否则返回空值
                 System.out.println( "学号\t姓名" );
                 while  (rs.next()) {
                     System.out
                             .println(rs.getString( 1 ) + "\t"  + rs.getString( 2 )); // 入如果返回的是int类型可以用getInt()
                 }
             }
         } catch  (SQLException e) {
             System.out.println( "MySQL操作错误" );
             e.printStackTrace();
         } catch  (Exception e) {
             e.printStackTrace();
         } finally  {
             conn.close();
         }
 
     }
 
}

Java中,我们可以通过Java Database Connectivity(JDBC)API访问MySQL数据库。以下是使用JDBC连接MySQL数据库的步骤: 1. 下载并安装MySQL Connector/J驱动程序 驱动程序是Java应用程序与MySQL数据库之间的桥梁。您可以从MySQL官方网站下载并安装最新版本的MySQL Connector/J驱动程序。 2. 加载MySQL驱动程序 使用Class.forName()方法加载MySQL驱动程序。 3. 建立与数据库的连接 使用DriverManager.getConnection()方法建立与数据库的连接。 4. 创建Statement对象 Statement对象用于执行SQL查询和更新语句。 5. 执行SQL查询或更新 使用Statement对象执行SQL查询或更新语句。 6. 处理结果 处理查询结果或更新状态。 下面是一个简单的Java代码示例,用于连接到MySQL数据库并查询数据: ```java import java.sql.*; public class MySQLExample { public static void main(String[] args) { try { // 加载MySQL驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立与数据库的连接 String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, username, password); // 创建Statement对象 Statement stmt = conn.createStatement(); // 执行SQL查询 String sql = "SELECT * FROM mytable"; ResultSet rs = stmt.executeQuery(sql); // 处理查询结果 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); System.out.println(id + ", " + name); } // 关闭连接 rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值