当前位置:   article > 正文

杂记——25.eclipse如何连接并实现对数据库的操作_eclipse连接数据库

eclipse连接数据库

这篇文章我们来讲一下eclipse(即编辑器)如何连接并实现对数据库的操作,这里以eclipse为主连讲解演示一下。

第一步:

查看我们本机安装的数据库的版本,即查看我们本机是否安装了数据库

在命令提示窗口输入:mysql --help

第二步:

打开eclipse,创建一个普通的java项目:

 

第三步:

在src下创建一个包(包名随便命名),在项目下,创建一个文件夹,命名为lib,然后在lib中导入jar包(这个jar包可以在CSDN上或者是Mysql官网上下载)

如下图所示:

 

 第五步:

右击项目,点击Properties,选择java Build Path,点击Add JARs...,选择相应的文件,如下图所示:

第六步:

在包下面创建.java的类,并书写代码:

代码如下:

  1. package com.qcby.db;
  2. import java.sql.*;
  3. import com.mysql.jdbc.Statement;
  4. public class Dbutil {
  5. static {
  6. try {
  7. System.out.println("开始加载驱动======");
  8. Class.forName("com.mysql.jdbc.Driver");
  9. System.out.println("加载驱动成功======");
  10. } catch (ClassNotFoundException e) {
  11. // TODO Auto-generated catch block
  12. e.printStackTrace();
  13. System.out.println("加载驱动失败!!!!!!");
  14. }
  15. }
  16. private static Connection con;
  17. private static String url = "jdbc:mysql://localhost:3306/hbu0516?useUnicode=true&characterEncoding=utf-8";
  18. private static String user = "root";
  19. private static String password = "2020";
  20. public static Connection getConnection() {
  21. System.out.println("连接获取开始======");
  22. if(con==null) {
  23. try {
  24. System.out.println("连接为空,开始构建连接======");
  25. con = DriverManager.getConnection(url,user,password);
  26. } catch (SQLException e) {
  27. // TODO Auto-generated catch block
  28. e.printStackTrace();
  29. System.out.println("连接构建失败,请查看原因!!!!!!");
  30. }
  31. System.out.println("连接构建成功======");
  32. }
  33. System.out.println("连接获取成功======");
  34. return con;
  35. }
  36. public static void execQuery(String sql) {
  37. Connection connection = getConnection();
  38. try {
  39. Statement statement = (Statement) connection.createStatement();
  40. ResultSet rs = statement.executeQuery(sql);
  41. while(rs.next()) {
  42. int id = rs.getInt("id");
  43. String userName = rs.getString("user_name");
  44. int userage = rs.getInt("user_age");
  45. System.out.print(id+" ");
  46. System.out.print(userName+" ");
  47. System.out.println(userage);
  48. }
  49. } catch (SQLException e) {
  50. // TODO Auto-generated catch block
  51. e.printStackTrace();
  52. }
  53. }
  54. public static void execUpadte() {
  55. Connection connection = getConnection();
  56. String Updatesql = "update t_user set user_name=? where id = ?";
  57. try {
  58. PreparedStatement statement = connection.prepareStatement(Updatesql);
  59. statement.setString(1,"wangwu");
  60. statement.setInt(2, 2);
  61. int eu = statement.executeUpdate();
  62. System.out.println(eu);
  63. } catch (SQLException e) {
  64. // TODO Auto-generated catch block
  65. e.printStackTrace();
  66. }
  67. }
  68. public static void main(String[] args) {
  69. String sql1 = "select * from t_user";
  70. execQuery(sql1);
  71. execUpadte();
  72. }
  73. }

下面通过截图来讲一下:

解析:

我们知道,数据是存储在硬盘上的,这与硬件有关,数据库是在操作系统之上的,可以调用操作系统来管理硬件,从而实现对数据的管理。我们用户和程序是无法直接操作硬件的,我们要实现某些功能必须要通过操作系统来调用硬件来实现。所以,我们要实现对数据库中的数据的管理,就必须调用可以操作数据库的jar包,也就是驱动程序,这个就是我们在lib文件夹中导入的包

然后,我们对项目进行设置,使得我们项目在运行的时候,可以加载那个jar包,这就是我们第五步做的事情。

然后,我们开始写代码。

首先,我们写了一个静态代码块(第9-19行),静态代码块的特点是在程序执行的时候就会执行,并且只执行一次。然后,我们来看静态代码块中的内容,其实关键的就一句——第11行,这句话的作用是利用反射获取这个类的字节码文件,我们可以理解为加载这个类,而这个类就是我们的mysql的驱动程序通过反射,我们调用了这个文件,然后加载了mysql的驱动,可以实现对mysql的操作了,其余的就是打印信息了,这个就不是重点了。

其实到这里,我们就可以运行一下,看是否是正确的。这里说两个运行类的方法。第一个就是在类里面写一个空的主方法,这样类就可以运行了,那么这个静态代码块也就可以运行了;第二个就是在方法上面加上@Test注解,不过这个是有要求的,@Test注解只能放在方法的上面,也就是说只能运行方法,而不能运行类,并且我们还要注意这个方法是否是独立的,即是否可以独立的运行。

我们前面调用了数据库的驱动程序,也就是说我们可以操作数据库了,但是,我们还没有与数据库建立连接,只有在我们与数据库建立连接之后,我们才能运行数据库。

java的sql类库里面,封装了一个Connection类,是专门用来建立与数据库的连接的。所以,我们在第21行创建了一个Connection类对象con,然后,我们继续思考,我们要与数据库建立连接,就必须知道数据库的一些信息,什么信息?至少应该知道url,用户名,密码;所以我们在第22,23,24分别定义了变量来存储数据库的url,用户名,密码。

然后,我们继续思考。我们java用一个类来承担与数据建立连接的功能,那么也就是说,我们所有与连接有关的内容都是放在这个类里面的,或而言之,这个类承担了与数据库连接的一切功能。那么就好理解了,我们调用Connection类里面的方法,传入数据库的url,用户名,密码等参数,然后这个类就帮我们完成了数据库的连接,然后我们把这个类返回回来,这样我们在别处要用的时候,就直接调用这个方法,利用这个返回回来的类,就能建立与数据库的连接啦。这就是第26——第41行的逻辑。当然,里面还有一些打印输出和抛异常等内容,这些都不是主要的东西。

然后,我们继续思考。此时此刻,我们可以驱动数据库了,然后与数据库的连接也建立了,那么我们就可以对数据库进行操作了,即对数据进行增删改查。怎么做?利用我们前面说的那个类Connection对象,我们利用这个类里面的方法来做。statement:报表,清单;我们利用Connection类里面的方法,创建一个statement类对象,我们用这个对象里面的具体方法来实现具体的SQL语句的执行。就比如,我们要执行查询所有人的信息,我们就用statement类里面的executeQuery方法,我们需要传入的就仅仅是SQL语句了。执行完成之后,肯定有返回值,它返回的是我们这个表里面的所有数据,我们用一个ResultSet类的对象来接收。接收完成之后呢,我们肯定就是要打印了,怎么打印呢?这个其实与我们接收数据的类型ResultSet的格式有关,这个具体的我也不是很清楚。反正,就是我们要把它打印出来。这个就是第43——第61行的主要逻辑。

然后后面的逻辑和上面的是类似的。主要的区别就在于类里面的方法的调用不同,但是主体逻辑和上面是一样的。

至此,我们通过eclipse连接到数据库,实现了对数据库中数据的操作,实现了通过程序才操作数据的功能。

其实后面的内容还比较多,比如SQL语句的拼接,比如如何实现动态SQL,比如前后端交互等等,都是比较麻烦的,但是,我们这个是基础。要能够理解。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/66832
推荐阅读
相关标签
  

闽ICP备14008679号