课程总结:
本周主要对数据库进行了学习:
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();
}
}
运行结果截图

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