zoukankan      html  css  js  c++  java
  • 第十三周课程总结

    源代码:

    
    package javaswingexercise;
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.event.TableModelEvent;
    import javax.swing.event.TableModelListener;
    import javax.swing.table.DefaultTableModel;
    public class TableModelEvent_Test extends JFrame {
    	
    	private static final long serialVersionUID = 1L;
    
    	private JTextField textField;
    
    	private DefaultTableModel tableModel;
    
    	private JTable table;
    
    	private JLabel label;
    
    	public static void main(String args[]) {
    		try {
    			TableModelEvent_Test frame = new TableModelEvent_Test();
    			frame.setVisible(true);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	public TableModelEvent_Test() {
    		super();
    		setTitle("25-9");
    		setBounds(100, 100, 500, 375);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    		final JPanel panel = new JPanel();
    		getContentPane().add(panel, BorderLayout.NORTH);
    
    		final JLabel label_1 = new JLabel();
    		label_1.setText("数量:");
    		panel.add(label_1);
    
    		textField = new JTextField();
    		textField.setColumns(10);
    		textField.setEditable(false);
    		textField.setText((int) (Math.random() * 1000) + "");
    		panel.add(textField);
    
    		final JButton button = new JButton();
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				Object[] rowValues = { table.getRowCount() + 1,
    						Integer.valueOf(textField.getText()) };
    				tableModel.addRow(rowValues);
    				textField.setText((int) (Math.random() * 1000) + "");
    			}
    		});
    		button.setText("插入");
    		panel.add(button);
    
    		final JScrollPane scrollPane = new JScrollPane();
    		getContentPane().add(scrollPane, BorderLayout.CENTER);
    
    		String[] columnNames = { "编号", "数量" };
    
    		tableModel = new DefaultTableModel(null, columnNames);
    		tableModel.addTableModelListener(new TableModelListener() {
    			public void tableChanged(TableModelEvent e) {
    				int sum = 0;
    				for (int i = 0; i < table.getRowCount(); i++) {
    					sum += (Integer) tableModel.getValueAt(i, 1);
    				}
    				label.setText("数量总计:" + sum);
    			}
    		});
    
    		table = new JTable(tableModel);
    		scrollPane.setViewportView(table);
    
    		label = new JLabel();
    		label.setText("数量总计:0");
    		getContentPane().add(label, BorderLayout.SOUTH);
    		//
    	}
    
    }
    
    

    运行截图:




    学习总结:

    安装(基于centos)

    yum -y install mariadb mariadb-server   # centos7版本
    
    yum -y install mysql mysql-server #centos7以下版本
    

    启动

    
    service mysqld start  #开启 centos7以下版本
    chkconfig mysqld on   #设置开机自启
    OR
    systemctl start mariadb  #centos7
    systemctl enable mariadb
    
    

    设置密码

    
    1  mysqladmin -u root -p123 password '1234' #修改root用户密码
    
    2. 进入mysql库修改user表 
    mysql>use mysql; 
    mysql>update user set password=password('你的密码') where user='root'; 
    mysql>flush privileges; 
    
    

    登录

    
    mysql               #本地登录,默认用户root,空密码,用户为root@127.0.0.1
    -- mysql -uroot -p1234 #本地登录,指定用户名和密码,用户为root@127.0.0.1
    -- mysql -uroot P端口号 -h 192.168.31.95 -p密码 #远程登录,用户为root@192.168.31.95
    
    

    查看

    
    ps aux |grep mysqld #查看进程
    netstat -an |grep 3306 #查看端口
    
    

    mysql的常用命令

    -- 
    -- 启动mysql服务与停止mysql服务命令:
    -- 
    -- net start mysql
    -- net stop  mysql
    -- 
    -- 
    -- **登陆与退出命令:**
    -- 
    --    mysql -h 服务器IP -P 端口号 -u  用户名 -p 密码 --prompt 命令提示符  --delimiter 指定分隔符
    --    mysql -h 127.0.0.1 -P 3306 -uroot -p123
    --    quit------exit----q;
    -- 
    -- 
    -- s;   ------my.ini文件:[mysql] default-character-set=gbk [mysqld] character-set-server=gbk
    -- 
    -- prompt 命令提示符(D:当前日期 d:当前数据库  u:当前用户)
    -- 
    -- T(开始日志) 	(结束日志)
    -- 
    -- show warnings;
    -- 
    -- help() ? h
    -- 
    -- G;
    -- 
    -- select now();
    -- select version();
    -- select user;
    -- 
    -- c 取消命令
    -- 
    -- delimiter 指定分隔符
    

    忘记密码

    方法一:启动mysql时,跳过授权表
    [root@controller ~]# service mysqld stop
    [root@controller ~]# mysqld_safe --skip-grant-table &
    [root@controller ~]# mysql
    mysql> select user,host,password from mysql.user;
    +----------+-----------------------+-------------------------------------------+
    | user     | host                  | password                                  |
    +----------+-----------------------+-------------------------------------------+
    | root     | localhost             | *A4B6157319038724E3560894F7F932C8886EBFCF |
    | root     | localhost.localdomain |                                           |
    | root     | 127.0.0.1             |                                           |
    | root     | ::1                   |                                           |
    |          | localhost             |                                           |
    |          | localhost.localdomain |                                           |
    | root     | %                     | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
    +----------+-----------------------+-------------------------------------------+
    mysql> update mysql.user set password=password("123") where user="root" and host="localhost";
    mysql> flush privileges;
    mysql> exit
    [root@controller ~]# service mysqld restart
    [root@controller ~]# mysql -uroot -p123
    

    sql及其规范

    <1> 在数据库系统中,SQL语句不区分大小写(建议用大写) 。但字符串常量区分大小写。建议命令大写,表名库名小写;
    
    <2> SQL语句可单行或多行书写,以“;”结尾。关键词不能跨多行或简写。
    
    <3> 用空格和缩进来提高语句的可读性。子句通常位于独立行,便于编辑,提高可读性。
    1
    2
    SELECT * FROM tb_table
                WHERE NAME="YUAN";
    <4> 注释:单行注释:--
                   多行注释:/*......*/
    <5>sql语句可以折行操作
    

    库备份

    dbname参数表示数据库的名称;
    table表示备份那个数据库的表名
    backupname备份数据库名字
     
    第一种:备份一个数据库的那些表
    mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql
    第二种:备份多个数据库
    mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql
    加上了--databases选项,然后后面跟多个数据库
    第三种:备份所有库
    mysqldump -u username -p -all-databases > BackupName.sql
    第四种:就是将MySQL中的数据库文件直接复制出来。这是最简单,速度最快的方法。
     
    不过在此之前,要先将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。
    如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种情况在开发环境可以,
    但是在生产环境中很难允许备份服务器。
     
      注意:这种方法不适用于InnoDB存储引擎的表,而对于MyISAM存储引擎的表很方便。
    同时,还原时MySQL的版本最好相同。
       
    第五种:第三方client软件备份
    

    还原库

    mysql -u root -p  dbname< BackupName.sql
    dbname  是可选项 ,是用于某些表还原到那些库才需要用到dbname
    直接还原库不用加上dbname,也就是数据库名
    
  • 相关阅读:
    Maybe You Don't Know ! 如何比较两个引用是否指向同一个对象?
    记录一点项目心得...
    SharePoint 站点模版
    ObjectSpaces,See you in 2006...
    CLR如何实现线程同步
    Using 1.1, Waiting 2.0 & EasyThread
    在SharePoint中的Workflow引擎开发完成
    ViewState
    《WalkThrough WebPart 入门指南二》完成
    隐藏在.NET中的IoC?
  • 原文地址:https://www.cnblogs.com/xudo/p/11920261.html
Copyright © 2011-2022 走看看