分类:N07_Java
package com.wpf; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.*; import java.util.ArrayList; import java.util.List; public class UpdateTest { public static List<Account> get_url(ResultSet rs) throws SQLException { //3. 定义sql List<Account> list = new ArrayList<>(); while (rs.next()){ Account account = new Account(); int id = rs.getInt("id"); String name = rs.getString("name"); account.setId(id); account.setName(name); list.add(account); }; //System.out.println(list); return list; } public static void JFrames(){ //创建窗体对象 JFrame jf = new JFrame(); jf.setTitle("聊天室"); jf.setSize(400, 300); jf.setDefaultCloseOperation(3); jf.setLocationRelativeTo(null); jf.setAlwaysOnTop(true); jf.setLayout(null); //显示聊天信息的文本域 JTextArea messageArea = new JTextArea(); messageArea.setBounds(10, 10, 360, 200); jf.add(messageArea); //输入聊天信息的文本框 JTextField messageField = new JTextField(); messageField.setBounds(10, 230, 180, 20); jf.add(messageField); //发送按钮 JButton sendButton = new JButton("发送"); sendButton.setBounds(200, 230, 70, 20); jf.add(sendButton); //清空聊天按钮 JButton clearButton = new JButton("清空聊天"); clearButton.setBounds(280, 230, 100, 20); jf.add(clearButton); sendButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //获取文本框的内容 String message2 = messageField.getText(); // messageField.setText(""); //每次发送的文本内容不带前后空格 // String message = messageField.getText(); // message = message.trim(); String message = messageField.getText().trim(); //链式调用 messageField.setText(""); //把文本框的内容发送到文本域中 try { toUptest(message2); } catch (SQLException ex) { ex.printStackTrace(); } // message= message+":"+list; // messageArea.setText(message); //多次发送的内容在文本域以追加的方式呈现 messageArea.append(message+"\n"); } }); clearButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //清空聊天就是把文本域的内容设置为空 messageArea.setText(""); } }); jf.setVisible(true); } // 1. 创建一个静态方法来获取数据库连接 public static Connection getDatabaseConnection() { // 数据库连接的URL、用户名、密码 String url = "jdbc:mysql://127.0.0.1:3306/test"; // 请替换成你的数据库URL String username = "root"; // 请替换成你的数据库用户名 String password = "root"; // 请替换成你的数据库密码 // 定义Connection对象 Connection conn = null; try { // 2. 获取数据库连接 conn = DriverManager.getConnection(url, username, password); System.out.println("数据库连接成功"); } catch (SQLException e) { System.out.println("数据库连接失败"); e.printStackTrace(); } return conn; // 返回连接对象 } public static void toUptest(String name) throws SQLException { Connection conn = getDatabaseConnection(); //5. 执行sql String sql = "update roles set name = '"+name+"' where id = 2"; //String sql = "update roles set name = 'admin44' where id = 2"; //4. 获取执行sql的对象 Statement Statement stmt = conn.createStatement(); //5. 执行sql try { // ============开启事务========== conn.setAutoCommit(false); //5. 执行sql int count1 = stmt.executeUpdate(sql);//受影响的行数 //6. 处理结果 System.out.println(count1); // ============提交事务========== //程序运行到此处,说明没有出现任何问题,则需求提交事务 conn.commit(); } catch (Exception e) { // ============回滚事务========== //程序在出现异常时会执行到这个地方,此时就需要回滚事务 conn.rollback(); e.printStackTrace(); } //7. 释放资源 stmt.close(); conn.close(); } // public static void conn(){ // String username = "root"; // String password = "root"; // String url = "jdbc:mysql://127.0.0.1:3306/test"; // Connection conn = DriverManager.getConnection(url, username, password); // //String sql = "update roles set name = 'admin33' where id = 2"; // String sql = "select * from roles"; // //4. 获取执行sql的对象 Statement // Statement stmt = conn.createStatement(); // //5. 执行sql // //5. 执行sql // ResultSet rs = stmt.executeQuery(sql); // ////// url = //// String res; // List<Account> list = get_url(rs); // System.out.println("list:"); // System.out.println(list); // stmt.close(); // conn.close(); // } public static void main(String[] args) throws Exception { //1. 注册驱动 //Class.forName("com.mysql.jdbc.Driver"); //2. 获取连接 JFrames(); } }