Java对数据库的查询和更新操作详解
这篇文章主要介绍了使用Java对数据库进行基本的查询和更新操作,是Java入门学习中的基础知识,需要的朋友可以参考下
数据库查询
利用Connection对象的createStatement方法建立Statement对象,利用Statement对象的executeQuery()方法执行SQL查询语句进行查询,返回结果集,再形如getXXX()的方法从结果集中读取数据。经过这样的一系列步骤就能实现对数据库的查询。
【例】Java应用程序访问数据库。应用程序打开考生信息表ksInfo,从中取出考生的各项信息。设考生信息数据库的结构如下:
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import java.sql.*; public class Example10_9 extends JFrame implements ActionListener{ public static Connection connectByJdbcodbc(String url, String username,String password){ Connection con = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载ODBC驱动程序 } catch (Exception e){ e.printStackTrace(); return null; //加载失败,连接不成功 } try{ con = DriverManager.getConnection(url, username, password); } catch (SQLException e){ e.printStackTrace(); return null; //连接失败 } return con; //连接成功 } String title[] ={"考号", "姓名", "成绩", "地址", "简历"}; JTextField txtNo = new JTextField(8); JTextField txtName = new JTextField(10); JTextField txtScore = new JTextField(3); JTextField txtAddr = new JTextField(30); JTextArea txtresume = new JTextArea(); JButton prev = new JButton("前一个"); JButton next = new JButton("后一个"); JButton first = new JButton("第一个"); JButton last = new JButton("最后一个"); Statement sql; //SQL语句对象 ResultSet rs; //存放查询结果对象 Example10_9(Connection connect){ super("考生信息查看窗口"); setSize(450, 350); try{ sql = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs = sql.executeQuery("SELECT * FROM ksInfo"); Container con = getContentPane(); con.setLayout(new BorderLayout(0, 6); JPanel p[] = new JPanel[4]; for (int i = 0; i < 4; i++){ p[i] = new JPane(new FlowLayout(FlowLayout.LEFT, 8, 0)); p[i].add(new JLabel(title[i])); } p[0].add(txtNo); p[1].add(txtName); p[2].add(txtScore); p[3].add(txtAddr); JPanel p1 = new JPane(new GridLayout94, 1, 0, 8)); JScrollPane jsp = new JScrollPane(txtResume, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); jsp.setPreforredSize(new Dimension(300, 60); for (int i = 0; i < 4; i++){ p1.add(p[i]); } JPanel p2 = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0); p2.add(new JLabel(title[4])); p2.add(jsp); Jpanel p3 = new Jpanel(); p3.add(prev); p3.add(next); p3.add(first); p3.add(last); prev.addActionListener(this); next.addActionListener(this); first.addActionListener(this); last.addActionlistener(this); rs.first(); readRecord(); } catch (Exception e){ e.printStackTrace(): } setVisible(ture); } public void modifyRecord(Connection connect){ String stuNo = (String)JOptionPane.showInputDialog(null, "请输入考生考号", "输入考号对话框", JOptionPane.PLAIN_MESSAGE, null, null, ""); try { sql = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs = sql.executeQuery("SELECT * FROM ksInfo"); Container con = getContentPane(); con.setLayout(new Boarderlayout(0, 6)); Jpanel p[] = new JPanel[4]; for (int i = 0; i < ; i++){ p[i] = new JPane(new FlowLayout(flowLayout.LEFT, 8, 0)); p[i].add(new JLabel(title[i])); } p[0].add(txtNo); p[1].add(txtName); p[2].add(txtScore); p[3].add(txtAddr); Jpanel p1 = new Jpane(new GridLayout(4, 1, 0, 8)); JScrollPane jsp = new JScrollPane(txtResume, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); jsp.setPreferredSize (new dimension(300, 60)); for (int i = 0; i < 4; i++){ p1.add(p[i]); } Jpanel p2 = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 0)); p2.add(new JLableI(title[4])); p2.add(jsp); JPanel p3 = new JPanel(); p3.add(prev); p3.add(next); p3.add(first); p3.add(last); prev.addActionListener(this); next.addActionListener(this); first.addActionListenerIthis); last.addActionListener(this); rs.first(); readRecord(); } catch (Exception e){ e.printStackTrace(); } setVisible(true); } boolean readRecord(){ try{ txtNo.setText(rs.getString("考号")); txtName.setText(rs.getString("姓名")); txtScore.setText(rs.getString("成绩")); txtAddr.setText(rs.getString("地址")); txtResume.setText(rs.getString("简历")); } catch (SQLException e){ e.printStackTrace(); return false; } return true; } public void actionPerformed(ActionEvent e){ try{ if (e.getSource() == prev)rs.previous(); else if (e.getSource() == next)rs.next(); else if (e.getSource() == first)rs.first(); else if (e.getSource() == last)rs.last(); readRecord(); } catch (Exception e2){} } public static void main(String args[]){ connection connect = null; JFrame .setDefaultLookAndFeeDecorated(true); Font font = new Font("JFrame", Font.PLAIN, 14); if ((connect =connectByJdbcOdbc("jdbc:odbc:redsun", "xia", "1234")) == null){ JOptionPane.showMessageDialog(null, "数据库连接失败!"); System.exit ( - 1); } new Example10_9(connect); //创建对象 } }
Java数据库更新
数据库更新操作包括数据表创建、删除、以及数据表记录的增加、删除、修改等操作。如果利用数据 SQL命令实现,则利用Statement对旬的executeUpdate()方法,执行SQL的update语句,实现数据表的修改;执行SQL的insert语句,实现数据表记录的添加。
例如,在前面数据为查询例子基础上,再增加对数据表的修改和插入。限于篇幅,不再给出完整程序,只给出实现修改和插入的方法。程序可再增设插入、,,除保存按钮,通过已有的浏览,定位到数据表的特定位置,对痈疽记录进行编辑修改,或插入,或删除,然后按保存按钮,完成修改后的数据表保存。
下面用代码说明数据表更新的方法。与数据表连接时,需指定获得的ResultSet 对象是可更新的。
stmt = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
Atas ialah kandungan terperinci Java对数据库的查询和更新操作详解. 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



Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

Java ialah bahasa pengaturcaraan popular yang boleh dipelajari oleh pembangun pemula dan berpengalaman. Tutorial ini bermula dengan konsep asas dan diteruskan melalui topik lanjutan. Selepas memasang Kit Pembangunan Java, anda boleh berlatih pengaturcaraan dengan mencipta program "Hello, World!" Selepas anda memahami kod, gunakan gesaan arahan untuk menyusun dan menjalankan program, dan "Hello, World!" Pembelajaran Java memulakan perjalanan pengaturcaraan anda, dan apabila penguasaan anda semakin mendalam, anda boleh mencipta aplikasi yang lebih kompleks.

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

Spring Boot memudahkan penciptaan aplikasi Java yang mantap, berskala, dan siap pengeluaran, merevolusi pembangunan Java. Pendekatan "Konvensyen Lebih Konfigurasi", yang wujud pada ekosistem musim bunga, meminimumkan persediaan manual, Allo

Java Made Simple: Panduan Permulaan untuk Kuasa Pengaturcaraan Pengenalan Java ialah bahasa pengaturcaraan berkuasa yang digunakan dalam segala-galanya daripada aplikasi mudah alih hingga sistem peringkat perusahaan. Untuk pemula, sintaks Java adalah ringkas dan mudah difahami, menjadikannya pilihan ideal untuk pembelajaran pengaturcaraan. Sintaks Asas Java menggunakan paradigma pengaturcaraan berorientasikan objek berasaskan kelas. Kelas ialah templat yang menyusun data dan tingkah laku yang berkaitan bersama-sama. Berikut ialah contoh kelas Java yang mudah: publicclassPerson{privateStringname;privateintage;

Stack adalah struktur data yang mengikuti prinsip LIFO (terakhir, pertama keluar). Dalam erti kata lain, elemen terakhir yang kita tambahkan pada timbunan adalah yang pertama dikeluarkan. Apabila kita menambah (atau menolak) unsur ke timbunan, mereka diletakkan di atas; iaitu di atas semua
