课程总结:

本周主要对数据库进行了学习:

1.JDBC:JDBC是Java提供的一套数据库操作标准

JDBC的主要操作类及接口:

Java.sql.CallableStatement:用于执行SQL存储过程

Java.sql.Types:定义了表示SQL类型的常量

java.sql.DriverManager :用于管理jdbc驱动程序
Java.sql.Connection :用于建立与特定数据库的连接
Java.sql.Statement 一个Statement的对象用于执行静态sql语句,并获得语句执行后产生的后果
Java.sql.PreparedStatement 创建一个可以编译的sql语句对象,该对象可以多次被运行,以提高执行效率,是Statement的子接口
Java.sql.ResultSet 用于创建表示sql语句检索结果的结果集,用户通过结果集完成对数据库的访问

Java.sql.CallableStatement:用于执行SQL存储过程

Java.sql.Types:定义了表示SQL类型的常量

在JDBC中基本操作中最常用的类和接口就是DriverManger、Connection、Statement、Result、PrepaerdStatement。

2.MySQL数据库:

MySQL的官方网站是:www.mysql.com

MySQL的安装及配置:端口设置默认值是3360.

MySQL常用命令:


链接mysql数据库

 

mysql -u 用户名 -p 密码

 创建数据库

创建数据库:CREATE DATABASE 数据库名称

删除数据库:DROP DATABASE 数据库名称

  使用数据库:

USE 数据库名称

  创建数据库表:

CREATE TABLE 表名称(

字段名称1   字段类型【DEFAULT 默认值】【约束】

字段名称1   字段类型【DEFAULT 默认值】【约束】

.........

字段名称n     【DEFAULT 默认值】【约束】    

)

  删除数据库表:

DROP TABLE 表名称;

  查看表结构

DESC 表名称;

  查看数据库信息

查看全部数据库:SHOW DATEBASES;

查看一个数据库的全部表;SHOW TABLES;

 学这个的时候有一点之前在cmd里面写东西的感觉,但是这个知识比之前那个难太多了(个人觉得),上课听得稀里糊涂,没听懂多少,老师讲之后再结合自己看书才搞懂一些。

实验报告:

源代码:

package demo2;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;

public class TextPad implements ActionListener{
	JFrame frame;
	JMenuBar bar;
	
	JMenu fileMenu;
	JMenu editMenu;
	
	ImageIcon newIcon;
	ImageIcon openIcon;
	ImageIcon saveIcon;
	ImageIcon closeIcon;
	
	JTextArea area;
	JScrollPane scroll;

	JMenuItem newItem;
	JMenuItem openItem;
	JMenuItem saveItem;
	JMenuItem closeItem;
	
	JFileChooser chooser;
	File file;
	public TextPad(){
		frame=new JFrame("记事本");
		bar=new JMenuBar();
		
		fileMenu=new JMenu("文件");
		editMenu=new JMenu("编辑");
//图标		
		newIcon=new ImageIcon("g:"+File.separator+"test"+File.separator+"新建.png");
		openIcon=new ImageIcon("g:"+File.separator+"test"+File.separator+"打开.png");
		saveIcon=new ImageIcon("g:"+File.separator+"test"+File.separator+"退出.png");
		closeIcon=new ImageIcon("g:"+File.separator+"test"+File.separator+"关闭.png");
		area=new JTextArea();
		scroll=new JScrollPane(area);
		
		newItem=new JMenuItem("新建",newIcon);
		openItem=new JMenuItem("打开",newIcon);
		saveItem=new JMenuItem("退出",newIcon);
		closeItem=new JMenuItem("关闭",newIcon);
//快捷键		
		newItem.setMnemonic('N');
		openItem.setMnemonic('O');
		saveItem.setMnemonic('E');
		closeItem.setMnemonic('C');
		
		newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
		openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
		saveItem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.CTRL_MASK));
		closeItem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.CTRL_MASK));
//监听器
		newItem.addActionListener(this);
		newItem.addActionListener(this);
		newItem.addActionListener(this);
		newItem.addActionListener(this);
		
		fileMenu.add(newItem);
		fileMenu.add(openItem);
		fileMenu.add(saveItem);
		fileMenu.addSeparator();
		fileMenu.add(newItem);
		
		newItem.setMnemonic(KeyEvent.VK_N);
		
		
		bar.add(editMenu);
		bar.add(fileMenu);
		
		frame.setJMenuBar(bar);
		frame.setVisible(true);
		frame.setSize(300,180);
		frame.setLocation(300,200);
		
	}
			
	public void actionPerformed(ActionEvent event) {

		Object obj=event.getSource();
		if(obj instanceof JMenuItem){
			JMenuItem item=(JMenuItem) obj;
			if(item==newItem){
				new TextPad();
			}else if(item==openItem){
				chooser=new JFileChooser();
				chooser.showOpenDialog(null);
				file=chooser.getSelectedFile();
				try{
					FileInputStream fis=new FileInputStream(file);
					byte[] b=new byte[fis.available()];
					fis.read(b);
					area.append(new String(b));
					fis.close();
				}catch(FileNotFoundException e){
					e.printStackTrace();
				} catch (IOException e) {
					e.printStackTrace();
				}
				
			}else if(item==saveItem){
				chooser=new JFileChooser();
				chooser.showSaveDialog(null);
				file=chooser.getSelectedFile();
				try{
					if(!file.exists()){
						file.createNewFile();
					}
					
					FileOutputStream fos=new FileOutputStream(file);
					byte[] b=area.getText().getBytes();
					fos.write(b);
					fos.close();
					
				}catch (IOException e){
					e.printStackTrace();
				}
					
			}else if(item==closeItem){
				System.exit(1);
			}
		}
	}
}

  

package demo2;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new TextPad();
	}

}

  运行结果截图

不知道为什么设置了图标地址,就偏偏全部是一个图案,而且并且实现不了一些功能,参照老师上课讲的写的,之前也按书上的方法写过,都达不到最终的目的。