java操作mysql实现增删改查的方法

时间:2021-12-23 15:23:03

本文实例讲述了java操作mysql实现增删改查的方法。分享给大家供大家参考,具体如下:

首先,需要把MySQL与Java连接的jar(mysql-connector-java-5.1.6-bin.jar)包导入工程.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package com.cn.edu;
import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class helloworld {
  private Connection conn = null;
  PreparedStatement statement = null;
  // connect to MySQL
  void connSQL() {
    String url = "jdbc:mysql://localhost:3306/hello?characterEncoding=UTF-8";
    String username = "root";
    String password = "root"; // 加载驱动程序以连接数据库
    try {
      Class.forName("com.mysql.jdbc.Driver" );
      conn = DriverManager.getConnection( url,username, password );
      }
    //捕获加载驱动程序异常
     catch ( ClassNotFoundException cnfex ) {
       System.err.println(
       "装载 JDBC/ODBC 驱动程序失败。" );
       cnfex.printStackTrace();
     }
     //捕获连接数据库异常
     catch ( SQLException sqlex ) {
       System.err.println( "无法连接数据库" );
       sqlex.printStackTrace();
     }
  }
  // disconnect to MySQL
  void deconnSQL() {
    try {
      if (conn != null)
        conn.close();
    } catch (Exception e) {
      System.out.println("关闭数据库问题 :");
      e.printStackTrace();
    }
  }
  // execute selection language
  ResultSet selectSQL(String sql) {
    ResultSet rs = null;
    try {
      statement = conn.prepareStatement(sql);
      rs = statement.executeQuery(sql);
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return rs;
  }
  // execute insertion language
  boolean insertSQL(String sql) {
    try {
      statement = conn.prepareStatement(sql);
      statement.executeUpdate();
      return true;
    } catch (SQLException e) {
      System.out.println("插入数据库时出错:");
      e.printStackTrace();
    } catch (Exception e) {
      System.out.println("插入时出错:");
      e.printStackTrace();
    }
    return false;
  }
  //execute delete language
  boolean deleteSQL(String sql) {
    try {
      statement = conn.prepareStatement(sql);
      statement.executeUpdate();
      return true;
    } catch (SQLException e) {
      System.out.println("插入数据库时出错:");
      e.printStackTrace();
    } catch (Exception e) {
      System.out.println("插入时出错:");
      e.printStackTrace();
    }
    return false;
  }
  //execute update language
  boolean updateSQL(String sql) {
    try {
      statement = conn.prepareStatement(sql);
      statement.executeUpdate();
      return true;
    } catch (SQLException e) {
      System.out.println("插入数据库时出错:");
      e.printStackTrace();
    } catch (Exception e) {
      System.out.println("插入时出错:");
      e.printStackTrace();
    }
    return false;
  }
  // show data in ju_users
  void layoutStyle2(ResultSet rs) {
    System.out.println("-----------------");
    System.out.println("执行结果如下所示:");
    System.out.println("-----------------");
    System.out.println(" 用户ID" + "/t/t" + "淘宝ID" + "/t/t" + "用户名"+ "/t/t" + "密码");
    System.out.println("-----------------");
    try {
      while (rs.next()) {
        System.out.println(rs.getInt("ju_userID") + "/t/t"
            + rs.getString("taobaoID") + "/t/t"
            + rs.getString("ju_userName")
             + "/t/t"+ rs.getString("ju_userPWD"));
      }
    } catch (SQLException e) {
      System.out.println("显示时数据库出错。");
      e.printStackTrace();
    } catch (Exception e) {
      System.out.println("显示出错。");
      e.printStackTrace();
    }
  }
  public static void main(String args[]) {
    helloworld h = new helloworld();
    h.connSQL();
    String s = "select * from ju_users";
    String insert = "insert into ju_users(ju_userID,TaobaoID,ju_userName,ju_userPWD) values("+8329+","+34243+",'mm','789')";
    String update = "update ju_users set ju_userPWD =123 where ju_userName= 'mm'";
    String delete = "delete from ju_users where ju_userName= 'mm'";
    if (h.insertSQL(insert) == true) {
      System.out.println("insert successfully");
      ResultSet resultSet = h.selectSQL(s);
      h.layoutStyle2(resultSet);
    }
    if (h.updateSQL(update) == true) {
      System.out.println("update successfully");
      ResultSet resultSet = h.selectSQL(s);
      h.layoutStyle2(resultSet);
    }
    if (h.insertSQL(delete) == true) {
      System.out.println("delete successfully");
      ResultSet resultSet = h.selectSQL(s);
      h.layoutStyle2(resultSet);
    }
    h.deconnSQL();
  }
}

notice:

1、现在一般用的驱动是com.mysql.jdbc.Driver,以前的那个什么org的驱动虽然封装了com.mysql.jdbc.Driver,但不好用,过时了。

2、prepareStatement(sql)statement的子类,比statement好用。

3、如果数据库中定义的是int值,那么sql语句中要把int单独提出来。如".....values("+8329+","+34243+",'mm','789')"

希望本文所述对大家java程序设计有所帮助。