第十三周课程总结

源代码:


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,也就是数据库名
原文地址:https://www.cnblogs.com/xudo/p/11920261.html