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) 建一个简单的数据库如下:


                  Java对MySQL数据库进行连接、查询和修改

 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("编号"+"\t"+"姓名"+"\t"+"年龄");

21                 while (rs.next()){

22                     System.out.print(rs.getInt(1) + "\t");

23                     System.out.print(rs.getString(2) + "\t");

24                     System.out.print(rs.getInt(3) + "\t");

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("编号"+"\t"+"姓名"+"\t"+"年龄");

21                 while (rs.next()){

22                     System.out.print(rs.getInt(1) + "\t");

23                     System.out.print(rs.getString(2) + "\t");

24                     System.out.print(rs.getInt(3) + "\t");

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("编号"+"\t"+"姓名"+"\t"+"年龄");

43             while (rs.next()){

44                 System.out.print(rs2.getInt(1) + "\t");

45                 System.out.print(rs2.getString(2) + "\t");

46                 System.out.print(rs2.getInt(3) + "\t");

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

你可能感兴趣的:(mysql)