十四周学习总结&简易记事本
2024-09-04 03:43:36
学习总结:
一、JDBC:
1.JDBC提供里一套与平台无关的标准数据库操作接口和类,只要支持java的数据库厂商,所提供的数据库都可以以使用JDBC操作。
2.JDBC的主要操作类及接口:
3.JDBC的操作步骤:
(1)加载驱动程序:驱动程序有各个数据库产生商提供。
(2)连接数据库:连接时要提供连接路径、用户名、密码。
(3)实例化操作:通过连接对象实例化Statement或PreparedStatement对象。
(4)操作数据库:使用Statement或PreparedStatemen操作,如果是查询,则全部的查询结果使ResultSet进行接收。
二、MySQL数据库:是一个小型关系数据库管理系统。
安装及配置:
常用命令:
连接MySQL数据库:mysql -u用户名 -p密码
创建数据库:CREATE DATABASE 数据库名称
删除数据库:DROP DATABASE 数据库名称
使用数据库:USE 数据库名称
创建数据库表:
CREATE TABLE 表名称(
字段名称1 字段类型[DEFAULT 默认值][约束],
字段名称2 字段类型[DEFAULT 默认值][约束],
...,
字段名称n 字段类型[DEFAULT 默认值][约束]
)
删除数据库表:DROP TABLE 表名称;
查看表结构:DESC 表名称;
查看数据库信息:
查看全部数据库:SHOW ADTABASES;
查看一个数据库的全部表:SHOW TABLES;
实验 :记事本
实现代码:
package jishi;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Notepad implements ActionListener {
JFrame frame;
JMenuBar bar;
JMenu fileMenu,editMenu;
JMenuItem newItem,openItem,saveItem,closeItem;
ImageIcon newIcon,openIcon,saveIcon,closeIcon;
JScrollPane scroll;
JTextArea area;
JFileChooser chooser;
File file;
public Notepad(){
frame = new JFrame("记事本");
bar = new JMenuBar();
fileMenu = new JMenu("文件(F)");
editMenu = new JMenu("编辑(E)");
area = new JTextArea();
scroll = new JScrollPane(area);
newItem = new JMenuItem("新建(N)",newIcon);
openItem = new JMenuItem("打开(O)",newIcon);
saveItem = new JMenuItem("保存(S)",newIcon);
saveItem = new JMenuItem("另存为(A)",newIcon);
closeItem = new JMenuItem("关闭(X)",newIcon);
JScrollPane scroll = new JScrollPane(area, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
//加监听器
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
saveItem.addActionListener(this);
closeItem.addActionListener(this);
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.add(saveItem);
fileMenu.add(closeItem);
newItem.setMnemonic(KeyEvent.VK_N);
newItem.setAccelerator(KeyStroke.getKeyStroke('N', java.awt.Event.CTRL_MASK));
openItem.setMnemonic(KeyEvent.VK_D);
openItem.setAccelerator(KeyStroke.getKeyStroke('D', java.awt.Event.CTRL_MASK));
closeItem.setMnemonic(KeyEvent.VK_K);
closeItem.setAccelerator(KeyStroke.getKeyStroke('K', java.awt.Event.CTRL_MASK));
saveItem.setMnemonic(KeyEvent.VK_S);
saveItem.setAccelerator(KeyStroke.getKeyStroke('S', java.awt.Event.CTRL_MASK));
bar.add(fileMenu);
bar.add(editMenu);
frame.setJMenuBar(bar);
frame.add(scroll);
frame.setSize(600,400);
frame.setVisible(true);
}
//事件监听处理
public void actionPerformed(ActionEvent event){
Object ob = event.getSource();
if(ob instanceof JMenuItem){
JMenuItem item = (JMenuItem) ob;
if(item == newItem){
new Notepad();
}
else if (item == openItem){
chooser = new JFileChooser();
chooser.showOpenDialog(null);
file = chooser.getSelectedFile();
try{
FileInputStream fs = new FileInputStream(file);
byte[] b = new byte[fs.available()];
fs.read(b);
area.append(new String(b));
fs.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 jishi;
public class Demo {
public static void main(String[] args) {
new Notepad();
}
}
运行结果:
最新文章
- 1Z0-053 争议题目解析686
- jQuery仿阿里云购买选择购买时间长度
- jmeter+ant+jenkins+mac报告优化
- java 静态代理-积木系列
- HTML5 :b/strong加粗,i/em倾斜区别
- 集合之List—ArrayList
- c# DataTable 中 Select 和 Clone 用法结合
- 无刷新删除 Ajax,JQuery
- werkzeug源码阅读笔记(二) 上
- Ambari Auto Start(进程自动拉起)
- ActiveMQ安装配置及实例
- 69.纯 CSS 创作一个单元素抛盒子的 loader
- java 常见面试题总结(一)
- 2050 Programming Competition (CCPC)
- ynoi2018
- C++中find()函数和rfind()函数的用法
- hibernate原生sql封装,报错信息:could not find setter for rownum_
- hdu 4435 第37届ACM/ICPC天津现场赛E题
- linux用户及用户组操作
- PowerDesigner16 生成的备注脚本,在sql server 2008 中报“对象名 'sysproperties' 无效”的错误的解决办法