数据库jdbc封装
经过几天的努力终于搞好了,这个类可以不用管数据库字段,不用写dao类,直接map添加,添加删除和修改,jdbc链接,分享给大家,用的话记得加上连接池,尊重原创,转载请注明
package jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * 操作数据库工具类 * * */public class domain { /** * 连接数据 * * @return conn */ public static Connection getConnection(String url, String username, String password) { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/" + url, username, password); } catch (Exception e) { e.printStackTrace(); } return conn; } /** * 关闭连接对象 * * @param conn * 连接对象 * @param pstmt * 预编译对象 * @param rs * 结果集 */ public static void closeAll(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } if (pstmt != null) { pstmt.close(); } if (conn != null) { conn.close(); } } catch (Exception e) { e.printStackTrace(); } } /** * 增删改操作 * * @param sql * SQL命令 * @param param * 参数 * @return */ public static int executUpdate(Connection conn, String sql, Object[] param) { int result = 0; PreparedStatement pstmt = null; try { System.out.println(sql); pstmt = conn.prepareStatement(sql); if (param != null) { for (int i = 0; i < param.length; i++) { pstmt.setObject(i + 1, param[i]); } } result = pstmt.executeUpdate(); } catch (Exception e) { e.printStackTrace(); } finally { closeAll(conn, pstmt, null); } return result; } /** * 查询 * * @return int * @date 2015-7-25 上午11:10:06 */ public static ResultSet executQuery(Connection conn, String sql, String[] param) { PreparedStatement pstmt = null; ResultSet result = null; try { pstmt = conn.prepareStatement(sql); if (param != null) { for (int i = 0; i < param.length; i++) { pstmt.setString(i + 1, param[i]); } } result = pstmt.executeQuery(); } catch (Exception e) { e.printStackTrace(); } return result; } /** * 简单增删改SQL语句执行,复杂sql执行executUpdate方法 * 字符串类型需要加单引号 * @param url * 数据库 * @param username * 数据库用户名 * @param password * 数据库密码 * @param map * 参数列,值 * @param tableName * 表名 * @param typeSql * SQL类型 insert,dell,update * @param oldLine * 删除时为要删除的列名,更新的时候为where前的条件列名(仅当且使用dell和update时填写,insert时不作用) * @param newLine * 更新时where候的条件列名(仅当且使用update时填写,dell,insert时不作用) * @param oldCondition * 删除时为要删除的条件,更新的时候为where前的条件(仅当且使用dell和update时填写,insert时不作用) * @param newCondition * 更新的时候为where后的条件(仅当且使用update时填写,dell,insert时不作用) */ public static void sql(String url, String username, String password, Map<String, Object> map, String tableName, String typeSql, String oldLine, String oldCondition, String newLine, String newCondition) { String sql = ""; Connection conn = getConnection(url, username, password); Object[] valueArray = null; if (typeSql.equals("insert")) { List<Object> key = new ArrayList<Object>(); List<Object> value = new ArrayList<Object>(); StringBuffer sb = new StringBuffer(); StringBuffer wen = new StringBuffer(); for (Object string : map.keySet()) { key.add(string); value.add(map.get(string)); } Object[] keyArray = key.toArray(); valueArray = value.toArray(); for (int i = 0; i < keyArray.length; i++) { sb.append(keyArray[i] + ","); wen.append("?,"); } String string = sb.toString(); string = string.substring(0, string.length() - 1); String wenStr = wen.toString(); wenStr = wenStr.substring(0, wenStr.length() - 1); sql = "INSERT INTO " + tableName + "(" + string + ") VALUES (" + wenStr + ")"; } else if (typeSql.equals("dell")) { sql = "DELETE FROM " + tableName + " WHERE " + oldLine + " = " + oldCondition; } else if (typeSql.equals("update")) { sql = "UPDATE " + tableName + " SET " + oldLine + "= " + oldCondition + " WHERE " + newLine + " = " + newCondition; } int executUpdate = executUpdate(conn, sql + ";", valueArray); System.out.println(executUpdate); }//测试 public static void main(String[] args) { Map<String, Object> map = new HashMap<String, Object>(); map.put("appid", "lisi"); for (int i = 0; i < 100; i++) { System.out.println(i); map.put("id",i); // 增加 sql("test", "root", "", map, "user", "insert", "", "", "", ""); // 删除 sql("test", "root", "", map, "user", "dell", "id", i+"","", ""); // 修改// sql("test", "root", "", map, "user", "update", "appid", "'zhang'", "id", "0"); } // map.put("password", "123"); } }
Atas ialah kandungan terperinci 数据库jdbc封装. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

Menurut berita dari laman web ini pada 17 April, TrendForce baru-baru ini mengeluarkan laporan, mempercayai bahawa permintaan untuk produk platform Blackwell baharu Nvidia adalah menaik, dan dijangka memacu jumlah kapasiti pengeluaran pembungkusan CoWoS TSMC meningkat lebih daripada 150% pada 2024. Produk platform baharu NVIDIA Blackwell termasuk GPU siri B dan kad pemecut GB200 yang menyepadukan CPU GraceArm NVIDIA sendiri. TrendForce mengesahkan bahawa rantaian bekalan pada masa ini sangat optimistik tentang GB200, dengan penghantaran dijangka melebihi satu juta unit pada 2025, menyumbang 40-50% daripada GPU mewah Nvidia. Nvidia merancang untuk menyampaikan produk seperti GB200 dan B100 pada separuh kedua tahun ini, tetapi pembungkusan wafer huluan mesti terus menggunakan produk yang lebih kompleks.

Laman web ini melaporkan pada 9 Julai bahawa pemproses siri "Strix" seni bina AMD Zen5 akan mempunyai dua penyelesaian pembungkusan StrixPoint yang lebih kecil akan menggunakan pakej FP8, manakala StrixHalo akan menggunakan pakej FP11. Sumber: sumber videocardz @Olrak29_ Pendedahan terbaru ialah saiz pakej FP11 StrixHalo ialah 37.5mm*45mm (1687 milimeter persegi), yang sama dengan saiz pakej LGA-1700 bagi CPU Intel AlderLake dan RaptorLake. Phoenix APU terbaru AMD menggunakan penyelesaian pembungkusan FP8 dengan saiz 25*40mm, yang bermaksud bahawa StrixHalo's F

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Analisis prinsip asas sistem pengurusan pangkalan data MySQL MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan yang menggunakan bahasa pertanyaan berstruktur (SQL) untuk penyimpanan dan pengurusan data. Artikel ini akan memperkenalkan prinsip asas sistem pengurusan pangkalan data MySQL, termasuk penciptaan pangkalan data, reka bentuk jadual data, penambahan data, pemadaman, pengubahsuaian dan operasi lain, dan menyediakan contoh kod khusus. 1. Penciptaan Pangkalan Data Dalam MySQL, anda perlu mencipta contoh pangkalan data untuk menyimpan data. Kod berikut boleh mencipta fail bernama "my
