分类: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();
}
}