zoukankan      html  css  js  c++  java
  • Java对MySQL数据库进行连接、查询和修改【转载】

    一般过程:

      (1) 调用Class.forName()方法加载驱动程序。

      (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象。

      (3) 创建一个Statement对象,准备一个SQL语句,这个SQL语句可以是Statement对象(立即执行的的语句)、PreparedStatement语句(预编译的语句)或CallableStatement对象(存储过程调用的语句)。

      (4) 调用excuteQuery()等方法执行SQL语句,并将结果保存在ResultSet对象;或者调用executeUpdate()等方法执行SQL语句,不返回ResultSet对象的结果。

      (5)对返回的ResultSet对象进行显示等相当的处理。

      (6)释放资源。

    1. 连接数据库

      (1) 下载Mysql连接驱动

          网址: http://dev.mysql.com/downloads/connector/j/

      (2) 加载JDBC驱动

          操作方法:在Eclipse中,选中相应的工程,点击Project-Properties中的Java Build Path,在Libraries中增加mysql-connector-java-5.1.21-bin.jar,点OK。

      (3) 建一个简单的数据库如下:


                      

     1 import java.sql.*;
     2 public class GetConnection {
     3     public static void main(String[] args){
     4         try{
     5             //调用Class.forName()方法加载驱动程序
     6             Class.forName("com.mysql.jdbc.Driver");
     7             System.out.println("成功加载MySQL驱动!");
     8         }catch(ClassNotFoundException e1){
     9             System.out.println("找不到MySQL驱动!");
    10             e1.printStackTrace();
    11         }
    12         
    13         String url="jdbc:mysql://localhost:3306/mysql";    //JDBC的URL    
    14         //调用DriverManager对象的getConnection()方法,获得一个Connection对象
    15         Connection conn;
    16         try {
    17             conn = DriverManager.getConnection(url,    "root","");
    18             //创建一个Statement对象
    19             Statement stmt = conn.createStatement(); //创建Statement对象
    20             System.out.print("成功连接到数据库!");
    21             stmt.close();
    22             conn.close();
    23         } catch (SQLException e){
    24             e.printStackTrace();
    25         }
    26     }
    27 }

    2. 查询数据表

      在询数据表时,需要用到ResultSet接口,它类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应数据表的接口信息。

     1 import java.sql.*;
     2 
     3 public class SelectTable {
     4     
     5     public static void main(String[] args){
     6         try{
     7             //调用Class.forName()方法加载驱动程序
     8             Class.forName("com.mysql.jdbc.Driver");
     9             System.out.println("成功加载MySQL驱动!");
    10                 
    11             String url="jdbc:mysql://localhost:3306/aniu";    //JDBC的URL    
    12             Connection conn;
    13 
    14             conn = DriverManager.getConnection(url,    "root","");
    15             Statement stmt = conn.createStatement(); //创建Statement对象
    16             System.out.println("成功连接到数据库!");
    17 
    18             String sql = "select * from stu";    //要执行的SQL
    19             ResultSet rs = stmt.executeQuery(sql);//创建数据对象
    20                 System.out.println("编号"+"	"+"姓名"+"	"+"年龄");
    21                 while (rs.next()){
    22                     System.out.print(rs.getInt(1) + "	");
    23                     System.out.print(rs.getString(2) + "	");
    24                     System.out.print(rs.getInt(3) + "	");
    25                     System.out.println();
    26                 }
    27                 rs.close();
    28                 stmt.close();
    29                 conn.close();
    30             }catch(Exception e)
    31             {
    32                 e.printStackTrace();
    33             }
    34     }
    35 }

    3. 修改和删除数据库

     1 //修改删除数据
     2 import java.sql.*;
     3 public class UpdateDeleteDemo {
     4     public static void main(String[] args)throws Exception{
     5         try{
     6             //调用Class.forName()方法加载驱动程序
     7             Class.forName("com.mysql.jdbc.Driver");
     8             System.out.println("成功加载MySQL驱动!");
     9                 
    10             String url="jdbc:mysql://localhost:3306/aniu";    //JDBC的URL    
    11             Connection conn;
    12 
    13             conn = DriverManager.getConnection(url,    "root","");
    14             Statement stmt = conn.createStatement(); //创建Statement对象
    15             System.out.println("成功连接到数据库!");
    16 
    17             //查询数据的代码
    18             String sql = "select * from stu";    //要执行的SQL
    19             ResultSet rs = stmt.executeQuery(sql);//创建数据对象
    20                 System.out.println("编号"+"	"+"姓名"+"	"+"年龄");
    21                 while (rs.next()){
    22                     System.out.print(rs.getInt(1) + "	");
    23                     System.out.print(rs.getString(2) + "	");
    24                     System.out.print(rs.getInt(3) + "	");
    25                     System.out.println();
    26                 }
    27                 
    28             //修改数据的代码
    29             String sql2 = "update stu set name=? where number=?";
    30             PreparedStatement pst = conn.prepareStatement(sql2);
    31             pst.setString(1,"8888");
    32             pst.setInt(2,198);
    33             pst.executeUpdate();
    34                 
    35             //删除数据的代码
    36             String sql3 = "delete from stu where number=?";
    37             pst = conn.prepareStatement(sql3);
    38             pst.setInt(1,701);
    39             pst.executeUpdate();
    40                 
    41             ResultSet rs2 = stmt.executeQuery(sql);//创建数据对象
    42             System.out.println("编号"+"	"+"姓名"+"	"+"年龄");
    43             while (rs.next()){
    44                 System.out.print(rs2.getInt(1) + "	");
    45                 System.out.print(rs2.getString(2) + "	");
    46                 System.out.print(rs2.getInt(3) + "	");
    47                 System.out.println();
    48             }
    49                 
    50             rs.close();
    51             stmt.close();
    52             conn.close();
    53             }catch(Exception e)
    54             {
    55                 e.printStackTrace();
    56             }
    57     }
    58 }

    [1]       http://school.itzcn.com/video-vid-2308-spid-50.html

    [2]       http://school.itzcn.com/video-vid-2309-spid-50.html

    [3]       http://school.itzcn.com/video-vid-2310-spid-50.html

  • 相关阅读:
    Oracle11g 审计介绍
    用Go向MySQL导入.csv文件
    【Lucene】实现全文索引
    redis-3.0.1 sentinel 主从高可用 详细配置
    MySQL性能优化之max_connections配置
    数据结构算法
    inux 软件编译、安装、删除
    2015年,才开始流行的几个教育观念
    常见的几种语言函数调用约定
    关于代码调试de那些事
  • 原文地址:https://www.cnblogs.com/dekevin/p/3602734.html
Copyright © 2011-2022 走看看