精华内容
下载资源
问答
  • java学生信息管理系统(附源码)

    万次阅读 多人点赞 2016-07-14 16:36:30
    一: 介绍 1:实现登录界面 2:实现主界面 有两种操作 一种是按钮操作 另外一种是SQL语句。...在我的下载链接里面都有,里面也有使用说明。另外*myeclipse和eclipse, jcreator什么的都是IDE,...

    一:   介绍

          

      1:实现登录界面

        2:实现主界面

               有两种操作 一种是按钮操作  另外一种是SQL语句。

        3:连接SQL server 2008 数据库,后续我更新了,加了一个MySql 版本。在我的下载链接里面都有,里面也有使用说明。另外*myeclipse和eclipse,            jcreator什么的都是IDE,使用都一样,基本没什么区别,只不过myeclipse更商业化不开源,也就意味着收费,里面集成的插件比较多而已。

               *****************************************************************************************************

               用到的软件及环境SQLserver2008,eclipse,sqljdbc4.jar(数据库驱动包)

               *****************************************************************************************************

               另外一个Mysql 5.7.15.  Myeclipse2015,mysql-connector-java-5.1.34.jar

                 **********************************************************************************************************************

     

               java的JDK环境 (自行安装配置)

                切记:

                另外要新建数据库wtf 和新建学生表student(也可以用你自己创建的数据库及表,不过你得在源代码中进行修改):

                还要导入sqljdbc4.jar

            

        4:实现增删改查  (另有退出和刷新)

    二:    使用

      1:首先导入rjgc包

     

    然后点开browse  找到rjgc  

    最后点击finish

    得到    下图

    加载出来以后可能有的java文件前面有错,因为还没有导入sqljdbc4.jar

    (*******************************************************************************************************************************                    注意,方式一导入jdbc的图是之前我做的时候比较麻烦的一种方式,但是也能达到效果,在后期的我更新的链接资源中,如果导入任意版本源码包的话,都会自动加载lib包以及下面不同版本对应的jdbc连接驱动。这时候你只需要在那个lib文件夹下的.jar 文件上右键点击-->build path--->add to build path,导入jdbc结束。

    方式二导入:贴一张图

    上面这张图是方式二导入的,

    **************************************************************************************************************************)

     

    接下来继续,方式一导入  看下图:

     

     

     

    这时候应该就差不多可以运行了,不过还得把SQLserver2008的(MSSQLSERVER)服务开启了。

    上图

    再回到eclipse界面 打开rjgc

    最后双击LoginIn.java打开代码文本

    运行  就可以出现登录界面  

    在LoginIn.java代码文本里面找到登录用户 和密码后就可以登录了 

    比如admin 123  和wangtangfu 123456      (注意不要多加空格)

    其实用户权限都一样  如果你想加用户权限  可以写两个不同的Qframe.java。要做到主窗口里面的功能不同   ,可以屏蔽一些按钮

    比如修改  增加  等功能。然后在不同用户登陆的时候调用不同的Qframe.java,这样应该可以实现权限问题。。。

     

    2:

    还有程序里面应运了一些图片,它们的位置路径位置可能不一样 ,自行参照代码理解修改(很容易的哟);

     

    三:程序运行截图

       登陆窗口

     主窗口

    SQL语句执行  比如select * from student  

    刷新按钮:

    增加按钮:

                                                                                                                                                         添加成功之后刷新即可:

    删除按钮:

    修改按钮:

    查询按钮

     

     

    至此  

          学生管理系统就完成了   

               其中的登陆界面是 我借鉴别人的  

                   文中难免有不足之处,恳请批评指正

                                                                                                                                       2016-7-14

    再此上传不了附件 所以我给链接去在云盘下载 


    首次上传

    (2017_6_12更新)链接: https://pan.baidu.com/s/1aSeKJ8gXxWSElHaTU6_PdA 密码: yqpv

     


    添加myeclipse+mysql 版本:

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k

    (2017_12_17更新)链接: https://pan.baidu.com/s/1dFAlILj 密码: 9z7k


     


    修改student.sql执行报错 (执行时可以打开偷偷看一眼)

    (2019_04_13更新)链接: https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

    (2019_04_13更新)链接: https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

    (2019_04_13更新)链接:https://pan.baidu.com/s/121sRLAerxEa3UmTD50Uu6g 密码: xjge

     

    展开全文
  • Java图书管理系统

    万次阅读 多人点赞 2016-10-16 16:01:52
    项目参考自:http://www.java1234.com/a/yuanchuang/swing2/ 项目视频及代码下载地址:http://pan.baidu.com/s/1gdtVQtt 项目开发环境的搭建:http://pan.baidu.com/s/1ntzhAmH#list/path=%2F一,功能(1),用户...

    项目参考自:http://www.java1234.com/a/yuanchuang/swing2/
    项目视频及代码下载地址:链接:http://pan.baidu.com/s/1pLpQw2J 密码:cncv
    项目开发环境的搭建:http://pan.baidu.com/s/1ntzhAmH#list/path=%2F

    一,功能

    (1),用户登录
    (2),图书类别管理
    (3),图书管理
    (4),退出

    二,工具

    (1),JAVA编程:eclipes(1.8 soon版本)
    (2),SQL:mysql
    (3),Jdbc: jar(mysql-connector-java-5.1.40-bin.jar)

    三,效果展示

    (1),登录

    这里写图片描述

    (2),主界面

    这里写图片描述

    (3),图书类别添加

    这里写图片描述

    (4),图书类别管理

    这里写图片描述

    (5),图书添加

    这里写图片描述

    (6),图书管理

    这里写图片描述

    (7),关于作者

    这里写图片描述

    四,数据库设计

    这里写图片描述

    (1),t_user表

    这里写图片描述

    (2),t_bookType表

    这里写图片描述

    (3),t_book表

    这里写图片描述

    (四),Java层次分析:

    (1),逻辑图

    这里写图片描述

    (2),包结构

    这里写图片描述

    (五),数据库层级分析:

    1, ER分析

    这里写图片描述

    2, 数据

    用户: 用户编号,用户名,密码
    图书类别:图书类别编号,图书类别名称
    图书:图书编号,图书名称,图书作者,图书价格,图书描述,图书类别(外键)

    图书类别与图书之间根据图书类别相互关联

    3,数据库表的建立
    (1),t_use 用户信息表
    (2),t_bookType 图书类别管理表
    (3),t_book 图书信息管理表

    4,数据库表的关联(外键的关联)

    这里写图片描述

    (六),主要Java代码分析:

    (1),Dao 类(以BookDao为例)

    package com.java1234.dao;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import com.java1234.model.Book;
    import com.java1234.model.BookType;
    import com.java1234.util.StringUtil;
    import com.mysql.jdbc.Connection;
    import com.mysql.jdbc.PreparedStatement;
    
    /**
     * 图书Dao类
     * @author H_Pioneer
     *
     */
    public class BookDao {
    	
    	/**
    	 * 图书添加
    	 * @param con
    	 * @param book
    	 * @return
    	 * @throws Exception
    	 */
    	public int add(Connection con,Book book)throws Exception{
    		String sql="insert into t_book values(null,?,?,?,?,?,?)";
    		PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sql);
    		pstmt.setString(1, book.getBookName());
    		pstmt.setString(2, book.getAuthor());
    		pstmt.setString(3, book.getSex());
    		pstmt.setFloat(4, book.getPrice());
    		pstmt.setInt(5, book.getBookTypeId());
    		pstmt.setString(6, book.getBookDesc());
    		return pstmt.executeUpdate();
    	}
    	
    	/**
    	 * 图书信息查询
    	 * @param con
    	 * @param book
    	 * @return
    	 * @throws Exception
    	 */
    	public ResultSet list(Connection con,Book book)throws Exception{
    		StringBuffer sb=new StringBuffer("select * from t_book b,t_bookType bt where b.bookTypeId=bt.id");
    		if(StringUtil.isNotEmpty(book.getBookName())){
    			sb.append(" and b.bookName like '%"+book.getBookName()+"%'");
    		}
    		if(StringUtil.isNotEmpty(book.getAuthor())){
    			sb.append(" and b.author like '%"+book.getAuthor()+"%'");
    		}
    		if(book.getBookTypeId()!=null && book.getBookTypeId()!=-1){
    			sb.append(" and b.bookTypeId="+book.getBookTypeId());
    		}
    		PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sb.toString());
    		return pstmt.executeQuery();
    	}
    	
    	/**
    	 * 图书信息删除
    	 * @param con
    	 * @param id
    	 * @return
    	 * @throws SQLException
    	 */
    	public int delete(Connection con,String id)throws Exception{
    		String sql="delete from t_book where id=?";
    		PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sql);
    		pstmt.setString(1, id);
    		return pstmt.executeUpdate();
    	}
    	
    	/**
    	 * 图书信息修改
    	 * @param con
    	 * @param book
    	 * @return
    	 * @throws Exception
    	 */
    	public int update(Connection con,Book book)throws Exception{
    		String sql="update t_book set bookName=?,author=?,sex=?,price=?,bookDesc=?,bookTypeId=? where id=?";
    		PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sql);
    		
    		
    		pstmt.setString(1, book.getBookName());
    		pstmt.setString(2, book.getAuthor());
    		pstmt.setString(3, book.getSex());
    		pstmt.setFloat(4, book.getPrice());
    		pstmt.setString(5, book.getBookDesc());
    		pstmt.setInt(6, book.getBookTypeId());
    		pstmt.setInt(7, book.getId());
    		return pstmt.executeUpdate();
    	}
    	
    	/**
    	 * 
    	 * @param con
    	 * @param bookTypeId
    	 * @return
    	 * @throws Exception
    	 */
    	public boolean existBookByBookTypeId(Connection con,String bookTypeId)throws Exception{
    		String sql="select * from t_book where bookTypeId=?";
    		PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sql);
    		pstmt.setString(1, bookTypeId);
    		ResultSet rs = pstmt.executeQuery();
    		String string = new String();
    		return rs.next();
    	}
    }
    
    

    *重点内容::

    JDBC进行简单的数据库增删改查

    详细参考:http://www.cnblogs.com/wuyuegb2312/p/3872607.html

    (2),Model类(以BookModel为例)

    package com.java1234.model;
    
    
    /**
     * 图书实体类
     * @author H_Pioneer
     *
     */
    public class Book {
    
    	private int id; //编号
    	private String bookName;  //图书名称
    	private String author;  //作者
    	private String sex;  //性别
    	private float price;  //价格
    	private Integer bookTypeId;  //图书类别
    	private String bookTypeName;  //图书类别名称
    	private String bookDesc;  //备注
    	
    	
    	
    	public Book(int id2, String bookName, String author, String sex, float price, Integer bookTypeId, String bookDesc) {
    		super();
    		this.id = id2;
    		this.bookName = bookName;
    		this.author = author;
    		this.sex = sex;
    		this.price = price;
    		this.bookTypeId = bookTypeId;
    		this.bookDesc = bookDesc;
    	}
    
    	public Book(String bookName, String author, Integer bookTypeId) {
    		super();
    		this.bookName = bookName;
    		this.author = author;
    		this.bookTypeId = bookTypeId;
    	}
    
    	public Book(String bookName, String author, String sex, float price, Integer bookTypeId, String bookDesc) {
    		super();
    		this.bookName = bookName;
    		this.author = author;
    		this.sex = sex;
    		this.price = price;
    		this.bookTypeId = bookTypeId;
    		this.bookDesc = bookDesc;
    	}
    	
    	public Book() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getBookName() {
    		return bookName;
    	}
    	public void setBookName(String bookName) {
    		this.bookName = bookName;
    	}
    	public String getAuthor() {
    		return author;
    	}
    	public void setAuthor(String author) {
    		this.author = author;
    	}
    	public String getSex() {
    		return sex;
    	}
    	public void setSex(String sex) {
    		this.sex = sex;
    	}
    	public float getPrice() {
    		return price;
    	}
    	public void setPrice(float price) {
    		this.price = price;
    	}
    	public Integer getBookTypeId() {
    		return bookTypeId;
    	}
    	public void setBookTypeId(Integer bookTypeId) {
    		this.bookTypeId = bookTypeId;
    	}
    	public String getBookTypeName() {
    		return bookTypeName;
    	}
    	public void setBookTypeName(String bookTypeName) {
    		this.bookTypeName = bookTypeName;
    	}
    	public String getBookDesc() {
    		return bookDesc;
    	}
    	public void setBookDesc(String bookDesc) {
    		this.bookDesc = bookDesc;
    	}
    	
    	
    }
    
    

    **重点内容::

    (1),接口类的构造方法

    (2),get,set方法

    快捷键:
    Shift+Alt+S --> Generate Getters and Setters -->选择你需要的get,set参数

    (3),构造函数的使用
    快捷键:
    (1),Shift+Alt+S -->generate constructor using fields–>使用字段生成
    (2),Shift+Alt+S -->generate constructors from…–>不使用字段从父类获取

    (三),Util类

    package com.java1234.util;
    
    import java.sql.DriverManager;
    
    import com.mysql.jdbc.Connection;
    
    /**
     * 数据库工具类
     * @author H_Pioneer
     *
     */
    
    public class DbUtil {
    	private String dbUrl = "jdbc:mysql://localhost:3306/db_book";
    	//也可以写成private String dbUrl = "jdbc:mysql:///db_book";
    	private String dbUserName = "root";
    	private String dbPassword = "123456";
    	private String jdbcName = "com.mysql.jdbc.Driver";
    	
    	/**
    	 * 获取数据库连接
    	 * @return
    	 * @throws Exception
    	 */
    	public Connection getCon()throws Exception{
    	    Class.forName(jdbcName);
    		Connection con = (Connection) DriverManager.getConnection(dbUrl,dbUserName,dbPassword);//链接数据库
    		return con;
    		
    	}
    	
    	/**
    	 * 关闭数据库连接
    	 * @param con
    	 * @throws Exception
    	 */
    	public void closeCon (java.sql.Connection con)throws Exception {
    		if(con!=null){
    			con.close();
    		}
    	}
    	
    	/**
    	 * 
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		DbUtil dbUtil = new DbUtil();
    		try {
    			dbUtil.getCon();
    			System.out.println("数据库连接成功");
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();    //在命令行打印异常信息在程序中出错的位置及原因。
    			System.out.println("数据库连接");
    		}
    				
    	}
    
    	
    }
    
    

    数据库工具类

    package com.java1234.util;
    
    import org.junit.Test;
    
    import com.mysql.jdbc.StringUtils;
    
    /**
     * 字符串工具类
     * @author H_Pioneer
     *
     */
    public class StringUtil {
    	/**
    	 * 判断是否为空
    	 * @param str
    	 * @return
    	 */
    	
    	public static boolean isEmpty(String str){
    		if(str==null||"".equals(str.trim())){
    			return true;
    	}else{
    		return false;
    	}
    	}
    	
    	/**
    	 * 判断不为空
    	 * @param str
    	 * @return
    	 */
    	public static boolean isNotEmpty(String str){
    		if(str!=null&&!"".equals(str.trim())){
    			return true;
    	    }else{
    		return false;
    	    }
    	}
    }
    

    **重点::
    工具类的使用
    (1)
    字符串工具类的总结:
    http://www.cnblogs.com/DreamDrive/p/5760588.html
    (2)
    数据库工具类的总结:
    http://kettas.iteye.com/blog/1222519

    (四),Frm类(以登录和图书类别添加为例)

    package com.java1234.view;
    
    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.GroupLayout;
    import javax.swing.GroupLayout.Alignment;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    import javax.swing.LayoutStyle.ComponentPlacement;
    import javax.swing.border.EmptyBorder;
    
    import com.java1234.dao.UserDao;
    import com.java1234.model.User;
    import com.java1234.util.DbUtil;
    import com.java1234.util.StringUtil;
    import com.mysql.jdbc.Connection;
    
    
    public class LogOnFrm extends JFrame {
    
    	private JPanel contentPane;
    	private final JTextField textField = new JTextField();
    	private JPasswordField passwordTxt;
    	
    	private DbUtil dbUtil = new DbUtil();
    	private UserDao userDao = new UserDao();
    	private JTextField userNameTxt;
    	
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					LogOnFrm frame = new LogOnFrm();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public LogOnFrm() {
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setAlwaysOnTop(true);
    		setTitle("管理员登录");
    		setBounds(100, 100, 450, 300);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		
    		JLabel label = new JLabel("图书管理系统");
    		label.setFont(new Font("黑体", Font.BOLD, 25));
    		label.setIcon(new ImageIcon(LogOnFrm.class.getResource("/images/logo.png")));
    		
    		JLabel lblNewLabel = new JLabel("用户名:");
    		lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 13));
    		lblNewLabel.setIcon(new ImageIcon(LogOnFrm.class.getResource("/images/userName.png")));
    		
    		JLabel lblNewLabel_1 = new JLabel("密  码:");
    		lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 13));
    		lblNewLabel_1.setIcon(new ImageIcon(LogOnFrm.class.getResource("/images/password.png")));
    		textField.setColumns(10);
    		
    		passwordTxt = new JPasswordField();
    		
    		JButton btnNewButton = new JButton("登录");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    			    loginActionPerformed(e);	
    			}
    		});
    		btnNewButton.setFont(new Font("宋体", Font.PLAIN, 13));
    		
    		btnNewButton.setIcon(new ImageIcon(LogOnFrm.class.getResource("/images/login.png")));
    		
    		JButton btnNewButton_1 = new JButton("重置");
    		btnNewButton_1.setFont(new Font("宋体", Font.PLAIN, 13));
    		btnNewButton_1.setIcon(new ImageIcon(LogOnFrm.class.getResource("/images/reset.png")));
    		btnNewButton_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				resetValueActionPerformed(e);
    			}
    		});
    		
    		userNameTxt = new JTextField();
    		userNameTxt.setColumns(10);
    		GroupLayout gl_contentPane = new GroupLayout(contentPane);
    		gl_contentPane.setHorizontalGroup(
    			gl_contentPane.createParallelGroup(Alignment.LEADING)
    				.addGroup(gl_contentPane.createSequentialGroup()
    					.addContainerGap()
    					.addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
    						.addGroup(gl_contentPane.createSequentialGroup()
    							.addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
    								.addGroup(gl_contentPane.createSequentialGroup()
    									.addComponent(textField, GroupLayout.PREFERRED_SIZE, 0, GroupLayout.PREFERRED_SIZE)
    									.addGap(223))
    								.addGroup(gl_contentPane.createSequentialGroup()
    									.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING, false)
    										.addComponent(lblNewLabel_1, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    										.addComponent(btnNewButton, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    									.addGap(50))
    								.addGroup(gl_contentPane.createSequentialGroup()
    									.addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 93, GroupLayout.PREFERRED_SIZE)
    									.addGap(36)))
    							.addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
    								.addComponent(btnNewButton_1)
    								.addGroup(Alignment.LEADING, gl_contentPane.createParallelGroup(Alignment.TRAILING, false)
    									.addComponent(passwordTxt, Alignment.LEADING)
    									.addComponent(userNameTxt, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 114, Short.MAX_VALUE)))
    							.addGap(63))
    						.addGroup(gl_contentPane.createSequentialGroup()
    							.addComponent(label, GroupLayout.PREFERRED_SIZE, 320, GroupLayout.PREFERRED_SIZE)
    							.addContainerGap())))
    		);
    		gl_contentPane.setVerticalGroup(
    			gl_contentPane.createParallelGroup(Alignment.LEADING)
    				.addGroup(gl_contentPane.createSequentialGroup()
    					.addGap(18)
    					.addComponent(label)
    					.addPreferredGap(ComponentPlacement.UNRELATED)
    					.addComponent(textField, GroupLayout.PREFERRED_SIZE, 0, GroupLayout.PREFERRED_SIZE)
    					.addGap(14)
    					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
    						.addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 24, GroupLayout.PREFERRED_SIZE)
    						.addComponent(userNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
    					.addGap(45)
    					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
    						.addComponent(passwordTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
    						.addComponent(lblNewLabel_1, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE))
    					.addGap(27)
    					.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
    						.addComponent(btnNewButton_1, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)
    						.addComponent(btnNewButton))
    					.addContainerGap(13, Short.MAX_VALUE))
    		);
    		contentPane.setLayout(gl_contentPane);
    		
    		//设置居中显示
    		this.setLocationRelativeTo(null);
    	}
    	
        /**
         * 登录事件处理
         * @param e
         */
    	protected void loginActionPerformed(ActionEvent e) {
    		// TODO Auto-generated method stub
    		String userName = this.userNameTxt.getText();
    		String password = new String(this.passwordTxt.getPassword());
    		if(StringUtil.isEmpty(userName)){
    			JOptionPane.showMessageDialog(null,"用户名不能为空");
    			return;
    		}
    		if(StringUtil.isEmpty(password)){
    			JOptionPane.showMessageDialog(null,"密码不能为空");
    			return;
    		}
    		User user = new User(userName,password);
    		Connection con = null;
    		try{
    			con = dbUtil.getCon();
    			User currentUser=userDao.login(con, user);
    			if(currentUser!=null){
    				//JOptionPane.showMessageDialog(null,"登录成功");	
    			    dispose();
    			    new MainFrm().setVisible(true);
    			}else{
    				JOptionPane.showMessageDialog(null,"用户名密码错误");
    			}
    			
    		}catch(Exception e1){
    			e1.printStackTrace();
    			
    		}
    		
    	}
    
    	/**
         * 重置事件处理
         * @param evt
         */
        
    	private void resetValueActionPerformed(ActionEvent evt) {
    		// TODO Auto-generated method stub
    		this.userNameTxt.setText("");
    		this.passwordTxt.setText("");
    	}
    }
    
    

    **重点::

    (1),Java可视化编程

    1. windowbuilder插件的安装
    2. Window Builder→SWT Designer→SWT→Application Window→Next→窗口名→默认→Finish→s自动生成代码→Design

    这里写图片描述

    (2),对于按钮等添加事件如何与数据接口联系

    对于JFrame,JLable,JTable等,右击可以选择重命名或者添加事件即可返回代码之中,一般我们会把操作进行封装,对事件进行相应的处理

    (七),整个项目的分析与不足

    1.MVC3层架构有问题(这个只有dao层)

    正常的应该是dao层就接口不是实现类,现在的dao是正常的daoImpl,dao的实现类
    

    2.实体类(com.java1234.model包下的)可以是entity,domain

    应该尽量用entity或model,少用domain
    

    3 DbUtil和StringUtil的实现方法不好而且很多并没有实际用处

    展开全文
  • java 学生信息管理系统

    万次阅读 多人点赞 2015-10-06 14:03:33
    只设计了一部分 全部的...使用纯面向对象的java语言作为开发语言 在sql server 2005新建一个名为Student的数据库,在下面新建一个名为stu的表 当然 列名你可以随便写 当然 要有个学号啊。我的修改等等都是根据学号的

    只设计了一部分 全部的太多了。会慢慢更新增加。

    学生信息管理包括添加,删除,修改,查询,显示全部等

    具体结构如图

    在SQL Server 2005数据库上实现数据操作。使用纯面向对象的java语言作为开发语言

    在sql server 2005新建一个名为Student的数据库,在下面新建一个名为stu的表

    再新建一个名为login的表 存贮账号 密码

    当然 列名你可以随便写 当然 要有个学号啊。我的修改等等都是根据学号的。

    这是登录界面入口

     

    package 学生信息管理系统;
    import java.sql.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.Color;
    public class 学生信息管理系统 {
    	public static void main(String[] args) {
    		new loginFrame();
    	}
    }
    class loginFrame extends JFrame implements ActionListener{
    	Box box1,box2,baseBox;
    	JLabel userName,userPwd,tubiao;
    	JTextField nameField;
    	JPasswordField pwdField;
    	JButton button;
    	JTabbedPane choose;
    	JPanel panel1,panel2;
    	loginFrame(){
    		setBackground(Color.green);
    		tubiao=new JLabel(new ImageIcon("image/4.png"));
    		add(tubiao,BorderLayout.NORTH);
    		userName=new JLabel("账号",JLabel.CENTER);
    		userPwd=new JLabel("密码",JLabel.CENTER);
    		nameField=new JTextField(8);
    		pwdField=new JPasswordField(8);
    		panel1=new JPanel();
    		panel2=new JPanel();
    		choose=new JTabbedPane();
    		choose.add("教师登陆",panel1);
    		choose.add("学生登陆",panel2);
    		panel1.setLayout(new GridLayout(2,2));
    		panel1.add(userName);panel1.add(nameField);
    		panel1.add(userPwd);panel1.add(pwdField);
    		add(choose,BorderLayout.CENTER);
    		button=new JButton("登陆");
    		add(button,BorderLayout.SOUTH);
    		button.addActionListener(this);
    		ImageIcon tubiao=new ImageIcon("image/3.png");
    		setIconImage(tubiao.getImage());
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setVisible(true);
    		setBounds(400,150,300,250);
    		setTitle("登陆");
    		validate();
    	}
    	public void actionPerformed(ActionEvent e){
    		String name,pwd;
    		name=nameField.getText();
    		pwd=pwdField.getText();
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException ex){
    		System.out.println(ex);
    		}
    		try{
    			Connection con;
    			Statement sql;
    			ResultSet rs;
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			rs=sql.executeQuery("select * from login where name ='"+name+"' and pwd='"+pwd+"'");
    			int q=0;
    			while(rs.next()){
    				q++;
    			}
    			if(q>0){
    				JOptionPane.showMessageDialog(this, "登陆成功!","消息对话框",JOptionPane.WARNING_MESSAGE);
    				this.dispose();
    				new CommFrame();
    				
    			}
    			else
    				JOptionPane.showMessageDialog(this, "账号或者密码错误!","消息对话框",JOptionPane.WARNING_MESSAGE);
    		}
    		catch(SQLException exp){
    			System.out.println(exp);
    		}
    	}
    }

     

     

     


    这是登陆界面:

     

     

     

    登陆成功后 点击确定 登陆界面会消失  出现学生信息界面 。我的初始密码是12345 12345 

    你也可以随便设置。

    还有我只设置了教师登陆的界面,学生登陆的界面没有设置。

    然后就是一个集合所有窗口的卡片式布局,称为CommFrame

     

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.awt.color.*;
    import java.awt.*;
    import java.awt.event.*;
    public class CommFrame extends JFrame implements ActionListener{
    	JMenuBar bar;
    	JMenu menu;
    	JMenuItem scanItem,deleteItem,updateItem,insertItem,searchItem;
    	Scan_stu scan;//查看所有学生信息
    	Delete_stu delete;//删除学生信息
    	Update_stu update;//更新学生信息
    	Insert_stu insert;//插入学生信息
    	Search_stu search;//查找学生信息
    	CardLayout card=null;
    	JPanel pCenter;
    	CommFrame(){
    		setLayout(new FlowLayout());
    		scanItem=new JMenuItem("浏览");
    		deleteItem=new JMenuItem("删除");
    		updateItem=new JMenuItem("修改");
    		insertItem =new JMenuItem("添加");
    		searchItem=new JMenuItem("查找");
    		bar=new JMenuBar();
    		menu=new JMenu("菜单");
    		menu.add(scanItem);
    		menu.add(deleteItem);
    		menu.add(updateItem);
    		menu.add(insertItem);
    		menu.add(searchItem);
    		bar.add(menu);
    		setJMenuBar(bar);
    		scanItem.addActionListener(this);
    		deleteItem.addActionListener(this);
    		updateItem.addActionListener(this);
    		insertItem.addActionListener(this);
    		searchItem.addActionListener(this);
    		scan=new Scan_stu();
    		update=new Update_stu();
    		delete=new Delete_stu();
    		insert=new Insert_stu();
    		search=new Search_stu();
    		card=new CardLayout();
    		pCenter=new JPanel();
    		pCenter.setLayout(card);
    		pCenter.add("scanItem", scan);
    		pCenter.add("deleteItem",delete);
    		pCenter.add("updateItem",update);
    		pCenter.add("insertItem",insert);
    		pCenter.add("searchItem",search);
    		add(pCenter,BorderLayout.SOUTH);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setVisible(true);
    		setBounds(400,150,550,400);
    		setTitle("学生信息管理系统");
    		validate();
    	}
    	public void actionPerformed(ActionEvent e){
    		if(e.getSource()==scanItem)
    			card.show(pCenter, "scanItem");
    		else if(e.getSource()==deleteItem)
    			card.show(pCenter, "deleteItem");	
    		else if(e.getSource()==updateItem)
    			card.show(pCenter, "updateItem");
    		else if(e.getSource()==insertItem)
    			card.show(pCenter, "insertItem");
    		else if(e.getSource()==searchItem)
    			card.show(pCenter, "searchItem");
    	}
    
    }
    

    这里是浏览所有学生信息:Scan_stu

     

     

    package 学生信息管理系统;
    import java.awt.*;
    
    import javax.swing.JFrame;
    
    import java.awt.event.*;
    
    import javax.swing.*;
    import javax.swing.table.*;
    public class Scan_stu extends JPanel implements ActionListener{
    	DefaultTableModel update_table;
    	JTable table;
    	Query query;
    	JButton button;
    	Object a[][];
    	String b[];
    	Scan_stu(){
    		setLayout(new FlowLayout());
    		setBackground(Color.green);
    		query=new Query();
    		query.setTableName("stu");
    		a=query.getRecord();
    		b=query.getField();
    		update_table=new DefaultTableModel(a, b);
    		table=new JTable(update_table);
    		button=new JButton("更新");
    		button.addActionListener(this);
    		JScrollPane scrollPane = new JScrollPane(table);
    		scrollPane.setBounds(0,0,550,380);
    		table.setPreferredSize(new Dimension(scrollPane.getWidth() - 50, scrollPane.getHeight()*2));//使表格出现滑动条
    		add(scrollPane);
    		add(button);
    	}
    	public void actionPerformed(ActionEvent e){
    		a=null;b=null;
    		query=new Query();
    		query.setTableName("stu");
    		a=query.getRecord();
    		b=query.getField();
    		update_table.setDataVector(a, b);
    	}
    }
    

    这里是界面

     

     

    再加上Scan_stu调用的Query查找函数

     

    package 学生信息管理系统;
    import java.sql.*;
    public class Query {
    	Object a[][]=null;
    	String b[]=null;
    	String tableName="";
    	int 字段个数;
    	public Query(){
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException e){
    			System.out.println(e);
    		}
    	}
    	public Object[][] getRecord(){//求表格的内容
    		a=null;
    		b=null;
    		Connection con;
    		Statement sql;
    		ResultSet rs;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			int 字段个数=getZiDuan();
    			int n=getAmount();
    			a=new Object[n][字段个数];
    			sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    			rs=sql.executeQuery("select * from "+tableName);
    			int m=0;
    			while(rs.next()){
    				for(int k=1;k<=字段个数;k++){
    					a[m][k-1]=rs.getString(k);
    				}
    				System.out.println();
    				m++;
    			}
    			con.close();
    		}
    		catch(SQLException e){
    			System.out.println("请输入正确的表名"+e);
    		}
    		return a;
    	}
    	public int getAmount(){//求表内容有多少行
    		Connection con;
    		Statement sql;
    		ResultSet rs;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    			rs=sql.executeQuery("select * from "+tableName);
    			rs.last();
    			int rows=rs.getRow();
    			return rows;
    		}
    		catch(SQLException exp){
    			System.out.println(""+exp);
    			return 0;
    		}
    	}
    	public String[] getField(){//求字段名称
    		Connection con;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			DatabaseMetaData metadata=con.getMetaData();
    			ResultSet rs1=metadata.getColumns(null, null, tableName, null);
    			int 字段个数=getZiDuan();
    			b=new String[字段个数];
    			int k=0;
    			while(rs1.next()){
    				b[k]=rs1.getString(4);
    				k++;
    			}
    			con.close();		
    		}
    		catch(SQLException e){
    			System.out.println(e);
    		}
    		return b;
    	}
    	public void setTableName(String s){//初试表名
    		tableName=s.trim();
    	}
    	public int getZiDuan(){//求字段个数
    		Connection con;
    		PreparedStatement sql;
    		ResultSet rs;
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			DatabaseMetaData metadata=con.getMetaData();
    			ResultSet rs1=metadata.getColumns(null, null, tableName, null);
    			字段个数=0;
    			while(rs1.next())
    				字段个数++;
    		}
    		catch(SQLException e){
    			System.out.println(e);
    		}
    		return 字段个数;
    	}
    }
    

     

     

     

     

     

    然后是删除学生信息函数

    Delete_stu

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.color.*;
    import java.sql.*;
    public class Delete_stu extends JPanel implements ActionListener{
    	Box box1,box2,baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark;
    	Delete delete;
    	String tableName;
    	Delete_stu(){
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		box1=Box.createVerticalBox();
    		box2=Box.createVerticalBox();
    		n=a.length;
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true)
    				box1.add(new JLabel("* "+a[i]));
    			else
    			box1.add(new JLabel("  "+a[i]));
    			box1.add(Box.createVerticalStrut(8));
    			box2.add(field[i]);
    			box2.add(Box.createVerticalStrut(8));
    		}
    		box1.add(new JLabel("  单击删除"));
    		button=new JButton("删除");
    		button.addActionListener(this);
    		box2.add(button);
    		baseBox=Box.createHorizontalBox();
    		baseBox.add(box1);
    		baseBox.add(Box.createHorizontalStrut(8));
    		baseBox.add(box2);
    		add(baseBox);
    	}
    	public void actionPerformed(ActionEvent e){
    		if(field[mark].getText().toString().equals("")==true)
    			JOptionPane.showMessageDialog(this, "带*号为必填内容","消息对话框",JOptionPane.WARNING_MESSAGE);
    		else
    		{
    			Delete delete=new Delete();
    			delete.setTableName("stu");
    			delete.setField(field);
    			delete.setA(a);
    			delete.Execute_Delete(mark);
    		}
    	}
    }
    


    这是界面

     

    这是调用的删除函数:Delete

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Delete extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Delete(){
    		
    	}
    	public void  Execute_Delete(int n){
    		String SQL="";
    		Connection con;
    		Statement sql;
    		SQL="delete from "+tableName+" where "+a[n]+" ='"+field[n].getText().toString()+"'";
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			sql.executeUpdate(SQL);
    			con.close();
    			JOptionPane.showMessageDialog(this, "删除成功","消息对话框",JOptionPane.WARNING_MESSAGE);
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);;
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    }
    

    然后是修改学生信息的Update_stu函数

     

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.color.*;
    import java.sql.*;
    public class Update_stu extends JPanel implements ActionListener{
    	Box box1,box2,baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark;
    	Update update;
    	String tableName;
    	Update_stu(){
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		box1=Box.createVerticalBox();
    		box2=Box.createVerticalBox();
    		n=a.length;
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true)
    				box1.add(new JLabel("* "+a[i]));
    			else
    			box1.add(new JLabel("  "+a[i]));
    			box1.add(Box.createVerticalStrut(8));
    			box2.add(field[i]);
    			box2.add(Box.createVerticalStrut(8));
    		}
    		box1.add(new JLabel("  单击修改"));
    		button=new JButton("修改");
    		button.addActionListener(this);
    		box2.add(button);
    		baseBox=Box.createHorizontalBox();
    		baseBox.add(box1);
    		baseBox.add(Box.createHorizontalStrut(8));
    		baseBox.add(box2);
    		add(baseBox);
    	}
    	public void actionPerformed(ActionEvent e){
    		int i;
    		for(i=0;i<n;i++){
    			if(a[i].equals("学号")==true&&field[i].getText().toString().equals("")==true){
    				mark=i;
    				JOptionPane.showMessageDialog(this, "带*必须填写!!!","消息对话框",JOptionPane.WARNING_MESSAGE);
    				break;
    			}
    		}
    		if(i==n){
    			int choose=JOptionPane.showConfirmDialog(this, "请确保你的学号是正确的,否则会更新失败!!!如果学号错误"
    					+ "请先删除再添加","消息对话框",JOptionPane.WARNING_MESSAGE);
    			if(choose==JOptionPane.YES_OPTION){
    				Update update=new Update();
    				update.setTableName("stu");
    				update.setField(field);
    				update.setA(a);
    				update.Execute_Update(mark);
    				JOptionPane.showMessageDialog(this, "更新成功!!!","消息对话框",JOptionPane.WARNING_MESSAGE);
    			}
    		}
    	}
    
    }
    


    这是界面

     

    这是调用的修改函数Update

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Update extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Update(){
    		
    	}
    	public void  Execute_Update(int mark){
    		String SQL[]=new String [a.length];
    		Connection con;
    		Statement sql;
    		for(int i=0;i<a.length;i++)
    		{
    			if(i!=mark)
    			SQL[i]="update "+tableName+" set "+a[i]+" ='"+field[i].getText().toString()+"' where "+a[mark]+" ='"+field[mark].getText().toString()+"'";
    		}
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			for(int i=0;i<field.length;i++)
    				if(i!=mark&&field[i].getText().toString().equals("")==false)
    					sql.executeUpdate(SQL[i]);
    			con.close();
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    }
    


    添加学生信息函数:Insert_Stu

     

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.color.*;
    import java.sql.*;
    public class Insert_stu extends JPanel implements ActionListener{
    	Box box1,box2,baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark;
    	Insert insert;
    	String tableName;
    	Insert_stu(){
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		box1=Box.createVerticalBox();
    		box2=Box.createVerticalBox();
    		n=a.length;
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true)
    				box1.add(new JLabel("* "+a[i]));
    			else
    			box1.add(new JLabel("  "+a[i]));
    			box1.add(Box.createVerticalStrut(8));
    			box2.add(field[i]);
    			box2.add(Box.createVerticalStrut(8));
    		}
    		box1.add(new JLabel("  单击添加"));
    		button=new JButton("添加");
    		button.addActionListener(this);
    		box2.add(button);
    		baseBox=Box.createHorizontalBox();
    		baseBox.add(box1);
    		baseBox.add(Box.createHorizontalStrut(8));
    		baseBox.add(box2);
    		add(baseBox);
    	}
    	public void actionPerformed(ActionEvent e){
    		int i;
    		for(i=0;i<n;i++){
    			if(field[i].getText().toString().equals("")==true){
    				JOptionPane.showMessageDialog(this, "必须全部填写","消息对话框",JOptionPane.WARNING_MESSAGE);
    				break;
    			}
    			if(a[i].equals("学号")==true){
    				mark=i;
    			}
    		}
    		if(i==n){
    				Insert insert=new Insert();
    				insert.setTableName("stu");
    				insert.setField(field);
    				insert.setA(a);
    				insert.Execute_Insert(mark);
    			}
    		}
    
    }
    


     

     

     

    调用的添加函数Insert

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Insert extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	Update update;
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Insert(){
    		
    	}
    	public void  Execute_Insert(int mark){
    		String SQL;
    		Connection con;
    		Statement sql;
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			SQL="insert "+tableName+"("+a[mark]+") values ('"+field[mark].getText().toString()+"')";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			sql.execute(SQL);
    			con.close();
    			update =new Update();
    			update.setTableName(tableName);
    			update.setField(field);
    			update.setA(a);
    			update.Execute_Update(mark);
    			JOptionPane.showMessageDialog(this, "添加成功!!!","消息对话框",JOptionPane.WARNING_MESSAGE);
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);;
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    }
    


    然后是查找学生信息的Search_stu函数

     

     

    package 学生信息管理系统;
    import java.awt.*;
    import java.awt.event.*;
    
    import javax.swing.*;
    import javax.swing.table.DefaultTableModel;
    
    import java.awt.color.*;
    import java.sql.*;
    public class Search_stu extends JPanel implements ActionListener{
    	Box box[],baseBox;
    	Query query;
    	JButton button;
    	JTextField field[]=null;
    	String a[]=null;
    	int n,mark,m;
    	Search search;
    	String tableName;
    	DefaultTableModel search_table;
    	Object object[][];
    	String b[];
    	Search_stu(){
    		setLayout(new FlowLayout());
    		query=new Query();
    		setBackground(Color.green);
    		query.setTableName("stu");
    		a=query.getField();
    		n=a.length;
    		box=new Box [n+1];
    		field =new JTextField[n];
    		for(int i=0;i<n;i++){
    			box[i]=Box.createHorizontalBox();
    			field[i]=new JTextField(10);
    			if(a[i].equals("学号")==true){
    				box[i].add(new JLabel("  "+a[i]));
    				box[i].add(Box.createHorizontalStrut(8));
    				box[i].add(field[i]);
    			}
    			else{
    				box[i].add(new JLabel("  "+a[i]));
    				box[i].add(Box.createHorizontalStrut(8));
    				box[i].add(field[i]);
    			}
    		}
    		object =new Object[0][0];
    		search_table=new DefaultTableModel(object, a);
    		JTable table=new JTable(search_table);
    		button=new JButton("查找");
    		button.addActionListener(this);
    		box[n-1].add(new JLabel("  单击查找"));
    		box[n-1].add(Box.createHorizontalStrut(8));
    		box[n-1].add(button);
    		baseBox=Box.createVerticalBox();
    		for(int i=0;i<n;i++){
    		baseBox.add(box[i]);
    		baseBox.add(Box.createVerticalStrut(8));
    		}
    		JScrollPane scrollPane=new JScrollPane(table);
    		scrollPane.setBounds(0,0,550,380);
    		table.setPreferredSize(new Dimension(scrollPane.getWidth() - 50, scrollPane.getHeight()*2));
    		baseBox.add(scrollPane); 
    		add(baseBox);
    		table.revalidate();
    		
    	}
    	public void actionPerformed(ActionEvent e){
    		int i,sum=0;
    		for(i=0;i<n;i++){
    			if(field[i].getText().toString().equals("")==true)
    				sum++;
    		}
    		System.out.println(sum);
    		if(sum==n)
    			JOptionPane.showMessageDialog(this, "你未输入任何内容,请重新输入!","消息对话框",JOptionPane.WARNING_MESSAGE);
    		else{
    			Search search=new Search();
    			search.setTableName("stu");
    			search.setField(field);
    			search.setA(a);
    			search.Execute_Search();	
    			object=null;b=null;
    			query=new Query();
    			query.setTableName("stu");
    			object=search.getRecord();
    			search_table.setDataVector(object, a);
    		}
    	}
    }
    


    这是查找界面

     

    然后是查找函数:

     

    package 学生信息管理系统;
    import javax.swing.*;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Search extends JFrame{
    	String tableName;
    	JTextField field[]=null;
    	String a[]=null;
    	Object object[][];
    	String b[];
    	public void setTableName(String s){
    		tableName=s.trim();
    	}
    	public void setField(JTextField s[]){
    		field=s;
    	}
    	public void setA(String e[]){
    		a=e;
    	}
    	public Search(){
    		
    	}
    	public void  Execute_Search(){
    		String SQL="select * from "+tableName+" where ";
    		Connection con;
    		Statement sql;
    		ResultSet rs;
    		int sum=0;
    		for(int i=0;i<a.length;i++)
    		{
    			if(field[i].getText().toString().equals("")==false){
    				if(sum==0)
    					SQL=SQL+a[i]+" = '"+field[i].getText().toString()+"'";
    				else
    					SQL=SQL+" and "+a[i]+" = '"+field[i].getText().toString()+"'";
    				sum++;
    			}
    			
    		}
    		try{
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    		}
    		catch(ClassNotFoundException exp){
    			System.out.println(exp);
    		}
    		try{
    			String url,userName,userPwd;
    			url="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
    			userName="sa";
    			userPwd="aaascx";
    			con=DriverManager.getConnection(url,userName,userPwd);
    			sql=con.createStatement();
    			sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    			rs=sql.executeQuery(SQL);
    			rs.last();
    			object =new Object[rs.getRow()][a.length];
    			rs.beforeFirst();
    			int ncase=0;
    			while(rs.next()){
    				for(int i=1;i<=a.length;i++){
    					object[ncase][i-1]=rs.getString(i);
    				}
    				ncase++;
    			}
    			con.close();
    			for(int i=0;i<field.length;i++)
    				field[i].setText(null);
    		}
    		catch(SQLException ex){
    			System.out.println(ex);
    		}
    	}
    	public Object[][] getRecord(){
    		return object;
    	}
    }
    


    写的时候没发现  现在看看挺多的。。其实代码不多,我每个删除 更新 添加 查看 查找 之所以又写了一个删除 更新 添加 查找函数 因为我还会往下写的。。在后面更新 会 查找课程信息 成绩信息 什么的直接调用函数就行了。所以不要嫌多。。而且这些函数的内容都是差不多的。

     

    比如写完一个更新操作 把里面的sql语句改改 不就是删除操作吗。。内容看着多 其实都一样。一起加油吧!

     

    展开全文
  • JAVA实现商品信息管理系统

    万次阅读 多人点赞 2019-10-14 20:43:56
    超市商品管理系统 题目要求 超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和生产厂家、品牌等信息。 主要完成对商品的销售、统计和简单管理。 这个题目相对简单...

    超市商品管理系统

    点此下载源码

    题目要求

    超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和生产厂家、品牌等信息。主要完成对商品的销售、统计和简单管理。这个题目相对简单,可以用一张表实现信息的保存和处理,因此不再给出数据库设计参考。
    功能要求
    (1)销售功能。
      购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入购买的数量,进行相应计算。如果库存量不够,给出提示信息,结束购买。
    (2)商品简单管理功能。
      添加功能:主要完成商品信息的添加。
      查询功能:可按商品类别、商品名称、生产厂家进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!”。
      修改功能:可根据查询结果对相应的记录进行修改。
      删除功能:主要完成商品信息的删除。先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。
    (3)统计功能。
      输出当前库存中所有商品的总数及详细信息;可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。
    (7)商品信息存盘:将当前程序中的商品信息存入文件中。
    (8)读出信息:从文件中将商品信息读入程序。

    问题的解决方案

    根据系统功能要求,可以将问题解决分为以下步骤:
    (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
    (2)分析系统中的各个实体及它们之间的关系;
    (3)根据问题描述,设计系统的类层次;
    (4)完成类层次中各个类的描述;
    (5)完成类中各个成员函数的定义;
    (6)完成系统的应用模块;
    (7)功能调试;

    设计思路

    可以对超市商品进行管理的人员主要有超市的商家和顾客,商家可以对超市的商品进行增﹑删﹑改﹑查操作,而顾客只能查询和购买商品。增加商品时,要添加商品的全部信息(编号﹑类别﹑名称﹑价格﹑库存量﹑品牌﹑生产厂家),删除时只需要输入商品编号便可删除该商品的全部信息,修改时要先输入商品编号,然后再确定要修改该商品的哪一个值,以及要将该值修改为什么,查询时只要输入想要查询商品的任意一个信息并选择商品类别便可查出该商品的全部信息。

    实现:

    建立并连接数据库与基本表

    连接数据库时需要用到JDBC,它由Java编程语言编写的类和接口组成,是实现Java与各种数据库连接的关键,提供了将Java与数据库连接起来的程序接口,使用户可以以SQL的形式编写访问请求,然后传给数据库,其结果再由这一接口返回,从而实现对数据库中数据操作的目的。超市商品管理系统采用了MySQL作为数据库,所建的系统数据库名为“goods”。通过需求分析、概念设计与逻辑设计,可知该系统数据库只需建立一个商品表即可

    结构设计

    该系统用于对商品的基本信息进行管理,主要包括添加、修改、查询和删除商品基本信息,为了方便,全部操作均在界面中完成。由此,将该系统结构设计为登录模块、顾客模块、商家模块。由于涉及界面设计,因此调用了java.awt.、java.awt.event.、javax.swing.、java.util.、javax.swing.event.*、java.sql.*等包。

    实现登录模块

    要生成一个界面,可应用AWT知识。设置其名字为商品信息管理系统;设置布局管理器为(null)布局管理器,方便往其中放组件;设置窗口大小和位置,还要设置窗口可见性。
    生成界面后,接下来就需要实现每个功能,第一个功能就是要对操作对象的身份进行选择,这里要用下拉列表的形式进行选择,也可以用单选按钮来完成这个功能。在这项功能中,首先要选择身份,所以要定义一个JLabel来说明,定义完JLabel后,就需要定义一个JComoBox,下拉列表框。 
    输入用户名和密码。需要用两个JLabel来指明需要输入用户名和密码。输入用户名需要定义一个JTextField,单文本框。同时输入文本,但输入密码和输入用户名是不一样的,它需要定义成JPasswordField,它的输出结果为“*****”这样的形式。 
    创建两个按钮,一个是登录按钮,另一个是取消登录按钮,用来输入的用户名和密码及选择的身份进行提交,然后根据选择的身份来选择需要进入那个界面,其代码如下:

    public class info_Manage extends JFrame implements ActionListener{
    	private JLabel username = new JLabel("用户名");
    	private JTextField userName = new JTextField();		
    	private JLabel psw = new JLabel("密码");	
    	private JPasswordField Psw = new JPasswordField();
    	JLabel jlp=new JLabel("身份");
    	String str[]={"顾客","商家"};
    	JComboBox jcb=new JComboBox(str);	
    	private JButton jb1 = new JButton("登录");
    	private JButton jb2 = new JButton("取消");	
    	public info_Manage(){		
    		this.setTitle("商品信息管理系统");
    		this.setLayout(null);
    		username.setBounds(100,50,100,20);
    		this.add(username);		
    		userName.setBounds(150,50,100,20);
    		this.add(userName);
    		psw.setBounds(100,100,100,20);
    		this.add(psw);
    		Psw.setBounds(150,100,100,20);
    		this.add(Psw);
    		jlp.setBounds(100,150,100,20);
    		this.add(jlp);
    		jcb.setBounds(150,150,100,20);
    		this.add(jcb);
    		jcb.addActionListener(this);
    		jb1.setBounds(100,210,60,20);
    		this.add(jb1);
    		jb1.addActionListener(this);
    		jb2.setBounds(200,210,60,20);
    		this.add(jb2);     
    		jb2.addActionListener(this);
    		this.setVisible(true);
    		this.setBounds(10,10,390,330);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
    	public static void main(String[] args) {
    		new info_Manage();
    	}
    	public void actionPerformed(ActionEvent e) {		
    		if (e.getSource() == jb1) {
    			String name=userName.getText();
    			String password = new String(Psw.getPassword());
    			if(name.length()==0&&password.length()!=0)
    				JOptionPane.showMessageDialog( null, "请输入用户名");
    			else  if(name.length()!=0&&password.length()==0)
    				JOptionPane.showMessageDialog( null, "请输入密码");
    			else if(name.length()==0&&name.length()==0)
    					JOptionPane.showMessageDialog( null, "请输入用户名和密码");
    			else if(jcb.getSelectedIndex()==0&&name.length()!=0&&name.length()!=0)
    				new custom_Manage();
    			else if(jcb.getSelectedIndex()==1&&name.length()!=0&&password.length()!=0)
    				new seller_Manage();
    		}
    		else if(e.getSource()==jb2)
    			System.exit(0);
    	}
    }
    

    运行结果
    在这里插入图片描述

    实现顾客操作界面

    当选择“顾客”时,单击“登录”按钮就可以进入顾客操作系统了,然后就可以对摸个学生的信息进行输入、修改和删除,也能对同学的信息进行查询和对程序进行查询。当打算离开时,还要有一个选项用来退出学生信息管理系统。根据设计构想,首先要搭建一个界面,然后把顾客的操作分为2大块,分别是商品信息查询和退出登录,其部分代码如下:

    class custom_Manage extends JFrame implements ActionListener{
    	JMenu cm=new JMenu("请选择您需要的操作:");
    	JButton cm1=new JButton("商品信息查询");
    	JButton cm2=new JButton("退出登录");
    	public void actionPerformed(ActionEvent e){
    		 if(e.getSource()==cm1)new SetGoods();
    		else if(e.getSource()==cm2)	this.setVisible(false);
    	}
    }
    

    运行结果
    在这里插入图片描述
    商家操作界面相比顾客操作界面多了商品信息的增加﹑删除和修改功能,其实现方法与顾客操作界面类似,在此不再赘述。

    添加商品信息

    每个按钮都对应着一个操作界面,当点击商家操作下的“增加商品信息”按钮时,将弹出如图所示的界面,它调用了AddGoods.java类实现该功能。通过对“增加信息”这一子菜单设置监听,弹出界面。AddGoods.java的部分代码如下:

    class AddGoods extends JFrame implements ActionListener {
    	JLabel JL = new JLabel("添加基本信息:");
    	JLabel number = new JLabel("商品编号");
    	JTextField Number = new JTextField();
    	
    	JLabel JClass=new JLabel("类别");
    	String str[]={"食品","化妆品","日用品","饮料"};
    	JComboBox jcb=new JComboBox(str);
    	
    	JLabel name = new JLabel("商品名称");
    	JTextField Name = new JTextField();
    	JLabel price=new JLabel("商品价格");
    	JTextField Price = new JTextField();
    	JLabel storage= new JLabel("库存量");
    	JTextField Storage = new JTextField();
    	JLabel brand= new JLabel("品牌");
    	JTextField Brand = new JTextField();
    	JLabel vender = new JLabel("生产厂家");
    	JTextField Vender = new JTextField();
    	
    	JTextField jt=new JTextField(10);
    	JButton Add = new JButton("添加");
    	JButton Reset = new JButton("重置");
    	JButton Exit = new JButton("退出");
    	String sql = "";
    
    	public void actionPerformed(ActionEvent e) {
    		if(e.getSource()==Add) {
    			String snumber=Number.getText();
    			String svender=Vender.getText();
    			String sname=Name.getText();
    			String sprice=Price.getText();
    			String sstorage=Storage.getText();
    			String sbrand=Brand.getText();
    			try {
    				Connection cot=ConnectionFactory.getConnection();
    				Statement stm=cot.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_UPDATABLE );
    				int s=jcb.getSelectedIndex();
    				String jc=null;
    				if(s==0)jc="食品";
    				else if(s==1)jc="化妆品";
    				else if(s==2)jc="日用品";
    				else if(s==3)jc="饮料";
    sql="insert into goods values('"+snumber+"','"+jc+"','"+sname+"',"+sprice+","+sstorage+",'"+sbrand+"','"+svender+"')";
    				int n=stm.executeUpdate(sql);
    				if(n!=0)JOptionPane.showMessageDialog(null,"添加成功!");
    				else JOptionPane.showMessageDialog(null,"该商品已存在!");
    			}catch(Exception ee) {
    				ee.printStackTrace();
    			}
    		}
    		if(e.getSource()==Reset) {
    			Number.setText(null);
    			Name.setText(null);
    			Vender.setText(null);
    			Price.setText(null);
    			Storage.setText(null);
    			Brand.setText(null);
    		}
    		if(e.getSource()==Exit) {
    			this.setVisible(false);
    		}
    	}
    }
    

    运行结果在这里插入图片描述

    删除商品信息

    当选择商家操作系统下的删除商品信息的按钮时,将弹出图4-4所示的界面,它调用了DeleteGoodst.java类实现该功能,其部分代码如下:

    class DeleteGoods extends JFrame implements ActionListener {
    	JMenu JL = new JMenu("删除基本信息");
    	JLabel number = new JLabel("商品编号");
    	JTextField Number = new JTextField();
    	JButton Del = new JButton("删除");
    	JButton Reset = new JButton("重置");
    	JButton Exit = new JButton("退出");
    	String sql = "";
    
    public void actionPerformed(ActionEvent e) {
    		if (e.getSource() == Del) {
    			Statement stm=null;
    			Connection cot;
    			try {
    				cot=ConnectionFactory.getConnection();
    				stm= cot.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_UPDATABLE );
    				sql ="delete from goods where number='"+Number.getText()+"'";
    				int n = stm.executeUpdate(sql);
    				if (n!=0)
    					JOptionPane.showMessageDialog(null, "删除成功!");
    				else
    				JOptionPane.showMessageDialog(null, "删除失败!");
    			} catch (SQLException e1) {
    				JOptionPane.showMessageDialog(null, "此商品不存在!");
    				e1.printStackTrace();
    			}
    		}
    		if (e.getSource() == Reset) {
    			Number.setText(null);
    		}
    		if (e.getSource() == Exit)
    			this.setVisible(false);
    	}
    }                     
    

    如图,只需输入商品编号便可删除该商品的全部信息。
    在这里插入图片描述

    修改商品信息

    当选择商家操作系统下的“修改信息”按钮时,将弹出界面,只要输入商品的编号,然后选择所要修改的该编号商品的列名,最后输入想要将其修改成为的值,即可修改该商品的某一项信息。用了GetGoods.java类实现该功能。其部分代码如下:

    class GetGoods extends JFrame implements ActionListener{
    	JLabel JL = new JLabel("修改商品信息", JLabel.CENTER);
    	JLabel number = new JLabel("请输入您要修改的商品编号");
    	JTextField Number = new JTextField();	
    	JLabel massage = new JLabel("请输入您要修改的商品信息");
    	JTextField Massage = new JTextField();	
    	JLabel afterget=new JLabel("您想要将该列信息修改为:");
    	JTextField Afterget = new JTextField();	
    	JTextField jt=new JTextField(10);
    	JButton Get = new JButton("修改");
    	JButton Reset = new JButton("重置");
    	JButton Exit = new JButton("退出");
    	String sql = "";
    public void actionPerformed(ActionEvent e){
    		if(e.getSource()==Get){
    			Statement stm=null;
    			Connection cot;
    			try{
    				cot=ConnectionFactory.getConnection();				stm=cot.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_UPDATABLE );
    				sql="update goods set "+Massage.getText()+"='"+Afterget.getText()+"' where number='"+Number.getText()+"'";
    				int n=stm.executeUpdate(sql);
    				if(n!=0)JOptionPane.showMessageDialog(null,"修改成功!");
    				else JOptionPane.showMessageDialog(null,"修改失败!");
    			}catch(Exception er){
    				er.printStackTrace();
    			}
    		}
    		if(e.getSource()==Reset){
    			Number.setText(null);
    			Massage.setText(null);
    			Afterget.setText(null);
    		}
    		if(e.getSource()==Exit) {
    			this.setVisible(false);
    		}
    	}
    }
    

    运行结果在这里插入图片描述

    查询商品信息

    当选择顾客或者商家操作系统下的“查询商品信息”按钮时,将弹出如图所示的界面,它调用了SetGoods.java类实现该功能,部分代码如下:

    class SetGoods extends JFrame implements ActionListener {
    	JLabel JL = new JLabel("请用以下任意一种方式查询您想要的东西", JLabel.CENTER);
    	JLabel number = new JLabel("商品编号");
    	JTextField Number = new JTextField();	
    	JLabel JClass=new JLabel("类别");
    	String str[]={"无","食品","化妆品","日用品","饮料"};
    	JComboBox jcb=new JComboBox(str);	
    	JLabel name = new JLabel("商品名称");
    	JTextField Name = new JTextField();
    	JLabel price=new JLabel("商品价格");
    	JTextField Price = new JTextField();
    	JLabel brand= new JLabel("品牌");
    	JTextField Brand = new JTextField();
    	JLabel vender = new JLabel("生产厂家");
    	JTextField Vender = new JTextField();	
    	JTextField jt=new JTextField(10);
    	JButton Set = new JButton("查询");
    	JButton purchase = new JButton("购买");
    	JButton Reset = new JButton("重置");
    	JButton Exit = new JButton("退出");
    	String sql = "";
    public void actionPerformed(ActionEvent e) {
    		if (e.getSource() == Set) {
    			Statement stm=null;
    			Connection cot;
    			try{
    				cot=ConnectionFactory.getConnection();
    stm=cot.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_UPDATABLE );
    				if(Number.getText()!=null)
    					sql="select * from goods where number='"+Number.getText()+"'";
    				else if(Name.getText()!=null)
    					sql="select * from goods where name='"+Name.getText()+"'";
    				else if(Price.getText()!=null)
    					sql="select * from goods where price='"+Price.getText()+"'";
    				else if(Brand.getText()!=null)
    					sql="select * from goods where brand='"+Brand.getText()+"'";
    				else if(Vender.getText()!=null)
    					sql="select * from goods where vender='"+Vender.getText()+"'";
    				ResultSet rs=stm.executeQuery(sql);
    				while(rs.next()) {
    					System.out.println("商品编号: "+Number.getText());
    					int s=jcb.getSelectedIndex();
    					if(s==0)
    					JOptionPane.showMessageDialog( null, "请选择商品类别!" );
    					else if(s==1)System.out.println("商品类别: 食品");
    					else if(s==2)System.out.println("商品类别: 化妆品");
    					else if(s==3)System.out.println("商品类别: 日用品");
    					else if(s==4)System.out.println("商品类别: 饮料");
    					System.out.println("商品名称: "+rs.getString("name"));
    					System.out.println("价格: "+rs.getString("price"));
    					System.out.println("库存量: "+rs.getString("storage"));
    					System.out.println("品牌: "+rs.getString("brand"));
    					System.out.println("生产厂家: "+rs.getString("vender"));
    				}
    			}catch(Exception ee){
    				JOptionPane.showMessageDialog( null, "该商品不存在!" );
    				ee.printStackTrace();
    			}
    		}
    		else if(e.getSource()==purchase){new Purchase();}
    		else if(e.getSource()==Reset){
    			Number.setText(null);
    			Name.setText(null);
    			Vender.setText(null);
    			Price.setText(null);
    			Brand.setText(null);
    		}
    		else if(e.getSource()==Exit) {
    this.setVisible(false);
    }}}
    

    运行结果在这里插入图片描述

    退出系统

    当在对商品进行增加﹑删除﹑修改和查询的界面时,点击“退出”按钮,即可弹出如图4-7所示界面,它调用了UsingExit.java类实现该功能,部分代码如下:

    class UsingExit extends JFrame implements ActionListener{
    	JLabel Info=new JLabel("确认退出?");
    	JButton JExit=new JButton("确认");
    	JButton Cancel=new JButton("取消");
    public void actionPerformed(ActionEvent e){
    		if(e.getSource()==JExit)
    			System.exit(0);
    		else if(e.getSource()==Cancel)
    			setVisible(false);
    	}
    }
    

    运行结果如图:
    在这里插入图片描述

    点此下载源码

    展开全文
  • java实战——图书管理系统

    万次阅读 多人点赞 2018-09-07 22:04:44
    因为这个写的比较完整,所以简单说明一下过程中使用的EJB和RMI两个东西。 EJB实现原理:就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。 RMI实现原理:就是通过Java对象可序列化机制实现分布...
  • 基于Java和MySQL的图书管理系统

    万次阅读 多人点赞 2018-06-20 21:41:17
    Java图书管理系统 设计人:wangyunpeng_bio 项目需求 随着计算机的普及和应用水平的提高,经过考察比较,决定利用自己的Java知识开发小型的图书管理系统,方便图书的管理。 图书管理系统是典型的信息管理系统。...
  • Java+MySQL实现学生管理系统

    万次阅读 多人点赞 2019-06-13 15:43:41
    使用Java作为开发语言,MySQL作为数据库,Java Swing图形界面; 分层解耦,分为entity(实体层,映射数据库具体表)、dal(数据库访问,对数据库工具类封装)、dao(持久层,同数据库交互)、gui...
  • Java实现超市库存管理系统

    万次阅读 多人点赞 2018-03-30 22:04:44
    模拟真实的库存管理逻辑,完成超市管理系统的日常功能实现。 经过分析,首先需要一个功能菜单,然后输入所选的功能后,调用序号对应的功能方法,实现想要的操作。 具体的步骤如下: 1.完成超市商品初始化。...
  • java作业学生成绩管理系统

    万次阅读 多人点赞 2020-12-24 23:23:45
    java基础学习作业,基于控制台实习,数据存储使用List 要求 应用面向对象的思想,设计实现一个课程成绩统计系统,实现如下功能: 1. 管理员登录,登录成功可以对成绩进行管理; 2. 显示成绩信息; 3.添加成绩...
  • /* 管理员能够进行的操作有3项(查看、修改、退出), 我们可以采用(switch)... 每一项功能操作,我们采用方法进行封装,这样,可使程序的可读性增强。 选择1.查看库存清单”功能,则控制台打印库存清单 选...
  • java学生成绩管理系统

    万次阅读 多人点赞 2016-04-12 14:33:51
    /* *@------环创移动端课后作业------ ... *@name:java学生成绩管理系统. *@功能:学生相关信息,录入... *@PS:图形界面的学生管理系统不要求就不了. */ import java.util.Scanner; import java.lang.*; import ja
  • java学生管理系统

    万次阅读 多人点赞 2019-04-06 17:11:00
    2019.4.6 16:49,已经在电脑前坐了将近五个小时的我将个人第一个java优化系统调试完成,五个小时,只是将已经写好的系统进行优化,起初开始优化的时候觉得这简直是个无底洞,要考虑的东西太多太细(忽然想起一位...
  • Java实现学生信息管理系统使用数据库)

    万次阅读 多人点赞 2017-08-18 10:09:05
    学生信息管理系统使用数据库) 前一段时间写了学生信息管理系统使用ArrayList),今天再来更新一下使用数据库的管理系统,总体上来说要比用ArrayList简便一些,同时输入的数据也能存储起来。
  • Java+MySQL图书管理系统

    万次阅读 多人点赞 2015-12-26 12:41:19
    正在学习Java就花了两个星期写了一个1000行左右的代码,仿照大一上学期老师让我们在控制台下写的图书管理系统系统,用Java容器和数据库写一个带图形界面的图书管理系统,一开始以为可以写个两三千行,结果写到1094行...
  • Java 图形界面开发--图文并茂建立学生管理系统

    万次阅读 多人点赞 2016-03-19 19:52:28
     这是本人在学习java图形界面开发阶段一步一步实现的超级简易的学生管理系统。虽然说不入大神法眼,但这确实是费了自己不少心血。对于我这样的菜鸟来说,考虑不周到,一不小心就Exception,然后就是自己调呀调。在...
  • 基于Java的物流公司管理系统项目记录

    万次阅读 多人点赞 2018-12-29 11:41:52
    基于Java的物流公司管理系统设计与设计,该项目为本人的毕业设计,记录一下。 如有同课题的同学,只仅作参考! 博主联系方式:liumce1@163.com 一、报告目录(仅作参考) 二、项目简介 通过对该物流企业的结构...
  • java课程设计——租房管理系统

    万次阅读 多人点赞 2020-01-12 14:18:37
    java课程设计——租房管理系统,实现代码和主要思路。 效果图 数据库设计 admin表 租房管理系统需要有人管理,使用者拥有管理员账号。管理员账号拥有查看房间,增加房间,出租房间,结算租金,增加租金,查看...
  • 该程序里的哪些东西,变成汽车管理系统,就是本质不变,换张皮,谢谢
  • 基于Java的员工管理系统

    万次阅读 多人点赞 2019-07-18 14:52:40
    基于Java的员工管理系统 简介 使用ArrayList对完成一个员工管理系统,员工信息包含:员工工号,姓名,职位,年龄,月薪,所在部门;要求功能入下: a)实现从控制台输入员工信息并存储 b)通过员工工号查询指定员工信息...
  • 使用java代码来实现dvd管理系统

    千次阅读 2016-08-18 15:00:01
    使用java代码来实现DVD的增、删、改、差的功能
  • java 仓库管理系统源码

    万次阅读 多人点赞 2020-02-03 21:57:13
    系统提供基本的登入登出功能,同时系统包含两个角色:系统超级管理员和普通管理员,超级管理员具有最高的操作权限,而普通管理员仅具有最基本的操作权限,而且仅能操作自己被指派的仓库。 请求URL鉴权。对于系统...
  • java做银行管理系统

    2016-01-05 13:53:50
    银行管理系统 设计要求:界面部分与后边的业务逻辑处理,要用接口进行分离。不要让界面部分与业务逻辑处理混合在一起!!! 银行管理系统分为三个模块:登录模块、管理员(即银行操作员)模块和客户模块。 登录模块...
  • Java 实现模拟文件管理系统

    千次阅读 热门讨论 2020-02-21 17:18:15
    java 实现模拟文件管理系统 前言   这个模拟文件管理系统是两年前的OS课设,因此代码和本博客叙述可能有所欠缺,若有问题欢迎指正。此博客仅供分享,如需要源代码参考,请访问我的GitHub账号:...
  • 大一java图书馆管理系统课程设计

    万次阅读 多人点赞 2017-09-18 16:24:15
    大一java图书馆管理系统课程设计代码仅供参考!!!仅供参考!!!效果图如下管理员用户名:123456 密码123456下载地址:http://download.csdn.net/download/qq_36326947/9995208...
  • 学生管理系统 上一次使用的集合只能对学生信息进行临时存储,关闭程序时数据就会消失,这次新增了文件存储,达到对学生信息的永久记录,首先在上次代码的基础上,增加了两个方法,一个是从学生文件读取信息到集合中...
  • JAVA购物管理系统

    万次阅读 多人点赞 2017-07-26 20:35:51
    * @JAVA01.person1.java * @author 当前用户:Endless作者 :Endless * @version 创建时间:2017年7月26日 下午6:29:16 * */ import java.util.Scanner;public class person { static int s; static
  • JAVA 实现简单的学生成绩管理系统

    万次阅读 多人点赞 2018-04-15 10:27:23
    2.掌握简单的信息管理系统的设计与实现。二、实验环境实验建议在安装了以下软件的计算机上完成:1.Windows xp/win7/win8/win10操作系统2.JDK 1.6以上版本3.Eclipse或NetBeans IDE或EditPlus或其它开发工具三、实验...
  • JAVA实现图书馆管理系统

    千次阅读 2020-03-15 17:58:48
    于是综合这些内容了一个图书馆管理系统。 为了提高实用性,图书管理体统分为: 1、管理员管理图书系统,可以增删改查功能; 2、学生用户系统,可借书还书。 登录 模拟平时常见的登录系统,选择登录权限(管理者...
  • JAVA SSH2学生管理系统

    千次阅读 热门讨论 2014-06-23 18:09:15
    JAVA SSH2学生信息管理系统 招生管理系统 商场超市管理系统 企业员工信息管理系统 学生选课系统源码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,027,803
精华内容 411,121
关键字:

java调用方法做管理系统

java 订阅