JAVA基础一大堆0810数据库小练习
来源:互联网 发布:html5建站 编辑:程序博客网 时间:2024/05/17 04:31
实现了对数据库的增删改查基本功能,代码如下:
建立数据库文件demo后
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class SQLManager { // 单例设计模式 private Statement statement; private static SQLManager manager; // 防止多线程产生多个对象 public static synchronized SQLManager newInstance() { if (manager == null) { manager = new SQLManager(); } return manager; } private SQLManager() { // 连接数据库的驱动 String driver = "com.mysql.jdbc.Driver"; // URL指向要访问的数据库名 String url = "jdbc:mysql://localhost:3306/clazz"; // MySQL配置时的用户名 String user = "root"; // Java连接MySQL配置时的密码 String password = "10312517"; try { // 加载驱动 Class.forName(driver); // 与数据库建立连接 Connection conn = DriverManager.getConnection(url, user, password); if (!conn.isClosed()) { // 数据库操作类 statement = conn.createStatement(); } else { System.out.println("请打开数据库"); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public Statement getStatement() { return statement; } public void setStatement(Statement statement) { this.statement = statement; }}import java.awt.BorderLayout;import java.awt.EventQueue;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.regex.Matcher;import java.util.regex.Pattern;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JTextField;import javax.swing.JButton;import javax.swing.JLabel;public class Register extends JFrame { private JPanel contentPane; private JTextField textAreaUserName; private JTextField textAreaPassword; private JButton btnSelect; private JTextField textFieldScreen; private JButton buttonDelete; private String userName; private String password; private JButton btnUpdate;// private Statement state; private JTextField textFieldUpdate; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Register frame = new Register(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public Register() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 368, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); textAreaUserName = new JTextField(); textAreaUserName.setBounds(127, 20, 155, 23); contentPane.add(textAreaUserName); textAreaUserName.setColumns(10); textAreaPassword = new JTextField(); textAreaPassword.setBounds(127, 53, 155, 23); contentPane.add(textAreaPassword); textAreaPassword.setColumns(10); JButton btnAdd = new JButton("\u589E\u52A0"); btnAdd.setBounds(52, 86, 74, 23); contentPane.add(btnAdd); btnAdd.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String userName = textAreaUserName.getText(); // 用正则表达式限制输入名称 // Pattern p = // Pattern.compile("([a-z]|[A-Z]|[0-9]|[\\u4e00-\\u9fa5])+"); // Matcher m = p.matcher(userName); // boolean b = m.matches(); // if (!b) { // UserName.setText("用户名格式有错误"); // String s = UserName.getText(); // System.out.println(s); // } String password = textAreaPassword.getText(); Statement state = SQLManager.newInstance().getStatement(); String sql = "select * from demo where name='" + userName + "'"; try { ResultSet set = state.executeQuery(sql); set.last(); int num = set.getRow();// 返回num是第几行 System.out.println(num); if (num > 0) { // if (!b) { // UserName.setText("用户名格式有错误"); // String s = UserName.getText(); // System.out.println(s); // } else { System.out.println("该记录已存在"); // } } else { String register = "insert into demo(name,password)values('" + userName + "','" + password + "')"; state.execute(register); System.out.println("增加记录成功"); } } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); JLabel lblUser = new JLabel("user"); lblUser.setBounds(63, 24, 54, 15); contentPane.add(lblUser); JLabel lblPassword = new JLabel("password"); lblPassword.setBounds(52, 57, 60, 15); contentPane.add(lblPassword); btnSelect = new JButton("\u67E5\u627E"); btnSelect.setBounds(52, 119, 74, 23); contentPane.add(btnSelect); btnSelect.addActionListener(new ActionListener() { // 查找记录 @Override public void actionPerformed(ActionEvent e) { String userName = textAreaUserName.getText(); Statement state = SQLManager.newInstance().getStatement(); String sql = "select * from demo where name='" + userName + "'"; try { ResultSet set = state.executeQuery(sql); set.last(); int num = set.getRow(); System.out.println(num); if (num == 1) { System.out.println("查找成功"); } else { System.out.println("查找失败"); } String password = set.getString("password"); textFieldScreen.setText(password); } catch (SQLException e1) { e1.printStackTrace(); } } }); textFieldScreen = new JTextField(); textFieldScreen.setBounds(179, 86, 103, 23); contentPane.add(textFieldScreen); textFieldScreen.setColumns(10); buttonDelete = new JButton("\u5220\u9664"); buttonDelete.setBounds(52, 152, 74, 23); contentPane.add(buttonDelete); buttonDelete.addActionListener(new ActionListener() { //删除记录内容 @Override public void actionPerformed(ActionEvent e) { userName=textAreaUserName.getText(); String delete = "delete from demo where name='" + userName + "'"; try { Statement state=SQLManager.newInstance().getStatement(); state.execute(delete); System.out.println("删除本条记录"); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); btnUpdate = new JButton("\u4FEE\u6539"); btnUpdate.setBounds(52, 185, 74, 23); contentPane.add(btnUpdate); btnUpdate.addActionListener(new ActionListener() { //更改记录内容 @Override public void actionPerformed(ActionEvent e) { textFieldScreen.setText(""); Statement state=SQLManager.newInstance().getStatement(); String idName=textAreaUserName.getText(); String upPassword =textFieldUpdate.getText();// textFieldUpdate.setText(upPassword); String update="update demo set password='"+upPassword+"' where name='"+idName+"'"; try { state.execute(update); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } textFieldScreen.setText(upPassword); System.out.println("修改记录成功"); } }); textFieldUpdate = new JTextField(); textFieldUpdate.setBounds(179, 186, 103, 21); contentPane.add(textFieldUpdate); textFieldUpdate.setColumns(10); }}
0 0
- JAVA基础一大堆0810数据库小练习
- JAVA基础一大堆0810数据库
- JAVA基础一大堆0811数据库
- JAVA基础一大堆0804线程
- JAVA基础一大堆0805线程
- Java基础练习小程序
- Java基础编程小练习
- Java基础编程小练习
- JAVA基础一大堆0802集合+泛型
- JAVA基础一大堆0804XML+UDP
- JAVA基础一大堆0804反射+注解
- JAVA基础一大堆0813Web项目
- Java基础复习:StringBuilder小练习
- JAVA基础一大堆0801接口+匿名类+IO流
- JAVA基础一大堆0802拷贝文件流+网络连接
- JAVA基础一大堆0803JSON+网络连接+枚举
- JAVA基础一大堆0812通过Http协议访问网络
- sql数据库小练习
- 进程之间的通信
- 命令指令符大全
- atitit。html css框架Bootstrap Foundation的比较与不同 attilax大总结
- 指针变量做参数
- 寻找数组中的第二大数
- JAVA基础一大堆0810数据库小练习
- ZeroMQ下载、安装、编译
- 32.自定义tableViewCell
- OC_AddressBook_通讯录写入
- 类的复制构造函数调用
- Linux后门入侵检测方法以及工具
- 九度oj 1007
- lpa标签传播算法讲解及代码实现
- Android自定义属性时TypedArray的使用方法