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

原文地址:https://www.cnblogs.com/dekevin/p/3602734.html