用户管理系统+源码+效果图

简介: 用户管理系统+源码+效果图

核心功能


添加用户信息

删除某一个用户信息

删除选中的用户信息

分页查询所有用户信息

模糊查询用户信息

更新用户信息

1、帮助类DBHelper

package com.zking.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class DBHelper {
  private static String cname = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  private static String url = "jdbc:sqlserver://localhost:1433;DatabaseName=Student";
  private static String user = "sa";
  private static String upwd = "、、;
  //静态代码块-加载类时自动执行
  static {
  try {
    Class.forName(cname);
  } catch (Exception e) {
    e.printStackTrace();
  }
  }
  //方法一:连接数据库
  public static Connection getCon() {
  Connection con = null;
  try {
    con = DriverManager.getConnection(url,user,upwd);
  } catch (Exception e) {
    e.printStackTrace();
  }
  return con;
  }
  //方法二:关闭连接
  public static void closeDb(Connection con,PreparedStatement ps,ResultSet rs) {
  try {
    if(con!=null) {
    con.close();
    }
    if(ps!=null) {
    ps.close();
    }
    if(rs!=null) {
    rs.close();
    }
  } catch (Exception e) {
    e.printStackTrace();
  }
  }
}

2、实体类entity

package com.zking.entity;
public class Users {
  private int uuid;
  private String uname;
  private String upwd;
  private String usex;
  private String ulike;
  private String uaddress;
  private String uinfo;
  public Users() {
  super();
  }
  public Users(String uname, String upwd, String usex, String ulike, String uaddress, String uinfo) {
  super();
  this.uname = uname;
  this.upwd = upwd;
  this.usex = usex;
  this.ulike = ulike;
  this.uaddress = uaddress;
  this.uinfo = uinfo;
  }
  public Users(int uuid, String uname, String upwd, String usex, String ulike, String uaddress, String uinfo) {
  super();
  this.uuid = uuid;
  this.uname = uname;
  this.upwd = upwd;
  this.usex = usex;
  this.ulike = ulike;
  this.uaddress = uaddress;
  this.uinfo = uinfo;
  }
  public int getUuid() {
  return uuid;
  }
  public void setUuid(int uuid) {
  this.uuid = uuid;
  }
  public String getUname() {
  return uname;
  }
  public void setUname(String uname) {
  this.uname = uname;
  }
  public String getUpwd() {
  return upwd;
  }
  public void setUpwd(String upwd) {
  this.upwd = upwd;
  }
  public String getUsex() {
  return usex;
  }
  public void setUsex(String usex) {
  this.usex = usex;
  }
  public String getUlike() {
  return ulike;
  }
  public void setUlike(String ulike) {
  this.ulike = ulike;
  }
  public String getUaddress() {
  return uaddress;
  }
  public void setUaddress(String uaddress) {
  this.uaddress = uaddress;
  }
  public String getUinfo() {
  return uinfo;
  }
  public void setUinfo(String uinfo) {
  this.uinfo = uinfo;
  }
  @Override
  public String toString() {
  return "Users [uuid=" + uuid + ", uname=" + uname + ", upwd=" + upwd + ", usex=" + usex + ", ulike=" + ulike
    + ", uaddress=" + uaddress + ", uinfo=" + uinfo + "]";
  }
}

3、功能类dao

package com.zking.dao;
import java.awt.dnd.DnDConstants;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import com.zking.entity.Users;
import com.zking.util.DBHelper;
public class UsersDao {
  //添加用户-成功返回1,否则返回null
  public int addUs(String uname,String upwd,String usex,String ulike,String uaddress,String uinfo) {
  int i = 0;
  Connection con = null;
  PreparedStatement ps = null;
  try {
    con = DBHelper.getCon();
    String sql = "insert into Users values(?,?,?,?,?,?)";
    ps = con.prepareStatement(sql);
    ps.setString(1, uname);
    ps.setString(2, upwd);
    ps.setString(3,usex);
    ps.setString(4, ulike);
    ps.setString(5, uaddress);
    ps.setString(6, uinfo);
    i = ps.executeUpdate();
  } catch (Exception e) {
    e.printStackTrace();
  }finally {
    DBHelper.closeDb(con, ps, null);
  }
  return i;
  }
  //删除用户-成功返回1,否则返回0
  public int delById(int uuid) {
  int i = 0;
  Connection con = null;
  PreparedStatement ps = null;
  try {
    con = DBHelper.getCon();
    String sql = "delete Users where uuid=?";
    ps = con.prepareStatement(sql);
    ps.setInt(1, uuid);
    i = ps.executeUpdate();
  } catch (Exception e) {
    e.printStackTrace();
  }finally{
    DBHelper.closeDb(con, ps, null);
  }
  return i;
  }
  //修改用户-成功返回1,否则返回0
  public int updateUs(int uuid,String uname,String upwd,String usex,String ulike,String uaddress,String uinfo) {
  int i= 0;
  Connection con = null;
  PreparedStatement ps = null;
  try {
    //连接数据库
    con = DBHelper.getCon();
    String sql = "update Users set uname=?,upwd=?,usex=?,ulike=?,uaddress=?,uinfo=? where uuid="+uuid;
    ps = con.prepareStatement(sql);
    ps.setString(1, uname);
    ps.setString(2, upwd);
    ps.setString(3,usex);
    ps.setString(4, ulike);
    ps.setString(5, uaddress);
    ps.setString(6, uinfo);
    i = ps.executeUpdate();
  } catch (Exception e) {
    e.printStackTrace();
  }finally {
    DBHelper.closeDb(con, ps, null);
  }
  return i;
  }
  //查询单个-查到则返回用户对象,否则就返回null
  public Users getByID(int uuid) {
  Users us = null;
  Connection con = null;
  PreparedStatement ps = null;
  ResultSet rs = null;
  try {
    con = DBHelper.getCon();
    String sql = "select * from Users where uuid=?";
    ps = con.prepareStatement(sql);
    ps.setInt(1, uuid);
    rs = ps.executeQuery();
    if(rs.next()) {
    us = new Users();
    us.setUuid(rs.getInt(1));
    us.setUname(rs.getString(2));
    us.setUpwd(rs.getString(3));
    us.setUsex(rs.getString(4));
    us.setUlike(rs.getString(5));
    us.setUaddress(rs.getString(6));
    us.setUinfo(rs.getString(7));
    }
  } catch (Exception e) {
    e.printStackTrace();
  }finally {
    DBHelper.closeDb(con, ps, rs);
  }
  return us;
  }
  //模糊查询-
  public ArrayList<Users> getMh(String uname,String name){
  ArrayList<Users> s = new ArrayList<>();
  Users us = null;
  Connection con = null;
  PreparedStatement ps = null;
  ResultSet rs = null;
  try {
    con = DBHelper.getCon();
    String sql = "select * from Users where "+uname+" like '%"+name+"%'";
    ps = con.prepareStatement(sql);
    rs = ps.executeQuery();
    while(rs.next()) {
    us = new Users(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6),rs.getString(7));
    s.add(us);
    }
  } catch (Exception e) {
    e.printStackTrace();
  }finally {
    DBHelper.closeDb(con, ps, rs);
  }
  return s;
  }
}

4、测试类

package com.zking.ui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import com.zking.dao.UsersDao;
import com.zking.entity.Users;
public class MyTest extends JFrame{
  public MyTest() {
  // 设置标题
  this.setTitle("用户管理系统");
  // 设置大小
  this.setSize(500, 500);
  // 设置居中
  this.setLocationRelativeTo(null);
  // 设置关闭
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  // 设置画布
  JPanel jp = new JPanel();
  // 编号
  JLabel bh = new JLabel("编号:");
  jp.add(bh);
  // 编号框
  JTextField jbh = new JTextField(10);
  jp.add(jbh);
  // 文本-用户名
  JLabel jlname = new JLabel("用户名:");
  jp.add(jlname);
  // 文本框
  JTextField jluname = new JTextField(10);
  jp.add(jluname);
  // 文本-密码
  JLabel up = new JLabel("密码:");
  jp.add(up);
  // 密码框
  JPasswordField jpf = new JPasswordField(10);
  jp.add(jpf);
  //文本-性别
  JLabel sex = new JLabel("性别:");
  jp.add(sex);
  //单选按钮
  JRadioButton boy = new JRadioButton("男");
  jp.add(boy);
  JRadioButton girl = new JRadioButton("女");
  jp.add(girl);
  //设置选项默认为女生
  girl.setSelected(true);
  //文本-爱好
  JLabel like = new JLabel("爱好:");
  jp.add(like);
  //多选按钮
  JCheckBox a = new JCheckBox("敲代码");
  jp.add(a);
  JCheckBox b = new JCheckBox("打豆豆");
  jp.add(b);
  JCheckBox c = new JCheckBox("运动");
  jp.add(c);
  JCheckBox d = new JCheckBox("学习");
  jp.add(d);
  JCheckBox p = new JCheckBox("睡觉");
  jp.add(p);
  //文本-地址
  JLabel sdd = new JLabel("地址:");
  jp.add(sdd);
  //下拉框
  JComboBox<String> com = new JComboBox();
  jp.add(com);
  //给下拉框添值
  com.addItem("郴州");
  com.addItem("上海");
  com.addItem("深圳");
  com.addItem("长沙");
  com.addItem("广州");
  jp.add(com);
  //文本-个人说明
  JLabel sm = new JLabel("个人说明:");
  jp.add(sm);
  //文本域
  JTextArea jt = new JTextArea(5,10);
  jp.add(jt);
  //滚动面板
  JScrollPane jsp = new JScrollPane(jt);
  jp.add(jsp);
  // 按钮
  JButton bu = new JButton("登录");
  jp.add(bu);
  JButton bu1 = new JButton("注册");
  jp.add(bu1);
  JButton bu2 = new JButton("删除");
  jp.add(bu2);
  JButton bu3 = new JButton("修改");
  jp.add(bu3);
  JButton bu4 = new JButton("查询");
  jp.add(bu4);
  JButton bu5 = new JButton("查询");
  jp.add(bu5);
  //增
  bu1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    String uname = jluname.getText();
    String upwd = jpf.getText();
    String usex = girl.getText();
    String ulike = "";
    if(a.isSelected()) {
      ulike+="敲代码";
    }
    if(b.isSelected()) {
      ulike+="打豆豆";
    }
    if(c.isSelected()) {
      ulike+="运动";
    }
    if(d.isSelected()) {
      ulike+="学习";
    }
    if(p.isSelected()) {
      ulike+="睡觉";
    }
    String uaddress = com.getSelectedItem().toString();
    String uinfo = jt.getText();
    UsersDao us = new UsersDao();
    int u = us.addUs(uname, upwd, usex, ulike, uaddress, uinfo);
    if (u>0) {
      JOptionPane.showMessageDialog(null, "增加成功");
    } else {
      JOptionPane.showMessageDialog(null, "增加失败");
    }
    }
  });
  //删
  bu2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    //强转
    String uuid = jbh.getText();
    int u = Integer.parseInt(uuid);
    UsersDao zc = new UsersDao();
    int i = zc.delById(u);
    if (i > 0) {
      JOptionPane.showMessageDialog(null, "删除成功");
    } else {
      JOptionPane.showMessageDialog(null, "删除失败");
    }
    }
  });
  //改
  bu3.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    String uuid = jbh.getText();
    int u1 = Integer.parseInt(uuid);
    String uname = jluname.getText();
    String upwd = jpf.getText();
    String usex = boy.getText();
    String ulike = "";
    if(a.isSelected()) {
      ulike+="敲代码";
    }
    if(b.isSelected()) {
      ulike+="打豆豆";
    }
    if(c.isSelected()) {
      ulike+="运动";
    }
    if(d.isSelected()) {
      ulike+="学习";
    }
    if(p.isSelected()) {
      ulike+="睡觉";
    }
    String uaddress = com.getSelectedItem().toString();
    String uinfo = jt.getText();
    UsersDao xg = new UsersDao();
    int g = xg.updateUs(u1,uname, upwd, usex, ulike, uaddress, uinfo);
    if (g>0) {
      JOptionPane.showMessageDialog(null, "修改成功");
    } else {
      JOptionPane.showMessageDialog(null, "修改失败");
    }
    }
  });
  //根据编号查询
  bu4.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    //强转
    String uuid = jbh.getText();
    int u2 = Integer.parseInt(uuid);
    UsersDao zc = new UsersDao();
    Users i = zc.getByID(u2);
    if (i!=null) {
      JOptionPane.showMessageDialog(null, "查询成功");
    } else {
      JOptionPane.showMessageDialog(null, "查询失败");
    }
    }
  });
  // 把画布添加到窗体
  this.getContentPane().add(jp);
  // 设置显示窗体
  this.setVisible(true);
  }
  public static void main(String[] args) {
  // 构造一个对象
  new MyTest();
  }
}

以上就是这个小案例的代码,下面是它的运行效果图

相关文章
|
前端开发 JavaScript API
2024 新年HTML5+Canvas制作3D烟花特效(附源码)
2024 新年HTML5+Canvas制作3D烟花特效(附源码)
637 0
|
安全
SFX的妙用——如何在不安装软件的情况下打开自定义格式文件?
【8月更文挑战第31天】SFX(自解压文件)能在无需安装特定软件的情况下打开自定义格式文件。通过将所需程序与资源打包进 SFX 文件,用户可轻松解压并运行文件。此方法需确定所需程序、创建 SFX 文件并分发给用户,同时需注意合法性、兼容性和安全性问题,以确保文件正常且安全地运行。这为用户提供了便捷的解决方案。
771 7
|
存储 前端开发 安全
【面试题】: bs架构与cs架构的区别以及各自优缺点
bs架构与cs架构的区别以及各自优缺点
5797 0
|
存储 监控 关系型数据库
MySQL数据库数据块大小详解
MySQL数据库数据块大小详解
513 0
|
SQL 关系型数据库 MySQL
Mysql:如何自定义导出表结构
通过以上方法,你可以灵活地自定义导出MySQL中的表结构,以满足不同的需求和场景。在进行操作的时候要注意权限问题以及路径问题,确保MySQL用户有权限写入指定的文件路径。在执行导出任务之前,还应确保你对数据库及其内容有足够的了解,以避免不必要的数据丢失或损坏。
357 1
|
机器学习/深度学习 自然语言处理 搜索推荐
深度学习之分类网络
深度学习的分类网络(Classification Networks)是用于将输入数据分配到预定义类别的神经网络。它们广泛应用于图像分类、文本分类、语音识别等任务。以下是对深度学习分类网络的详细介绍,包括其基本概念、主要架构、常见模型、应用场景、优缺点及未来发展方向。
1048 4
|
JavaScript Java 测试技术
基于springboot+vue.js的景区民宿预约系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的景区民宿预约系统附带文章和源代码设计说明文档ppt
189 0
|
存储 边缘计算 人工智能
云计算:现代计算环境的关键力量
云计算是基于互联网的计算模式,提供IaaS、PaaS和SaaS服务,改变计算资源获取方式,赋予企业灵活、可扩展的资源调配。其优势包括可扩展性、成本效益、灵活性和效率提升,但也面临安全性、依赖性等挑战。未来趋势涉及边缘计算、混合云、AI融合以及法规遵从与数据安全的强化。企业应适应云计算发展,制定相应策略。
ArcGIS配置OSM数据工具ArcGIS Editor for OSM的方法
本文介绍ArcGIS Editor for OpenStreetMap这一工具集插件的下载与安装方法~
798 1
ArcGIS配置OSM数据工具ArcGIS Editor for OSM的方法
|
Java Linux 开发工具
手把手教你Linux查找Java的安装目录并设置环境变量以及Linux下执行javac未找到命令的保姆级教学
手把手教你Linux查找Java的安装目录并设置环境变量以及Linux下执行javac未找到命令的保姆级教学
268 0