学习总结:

一、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(); } }

运行结果:

最新文章

  1. 1Z0-053 争议题目解析686
  2. jQuery仿阿里云购买选择购买时间长度
  3. jmeter+ant+jenkins+mac报告优化
  4. java 静态代理-积木系列
  5. HTML5 :b/strong加粗,i/em倾斜区别
  6. 集合之List—ArrayList
  7. c# DataTable 中 Select 和 Clone 用法结合
  8. 无刷新删除 Ajax,JQuery
  9. werkzeug源码阅读笔记(二) 上
  10. Ambari Auto Start(进程自动拉起)
  11. ActiveMQ安装配置及实例
  12. 69.纯 CSS 创作一个单元素抛盒子的 loader
  13. java 常见面试题总结(一)
  14. 2050 Programming Competition (CCPC)
  15. ynoi2018
  16. C++中find()函数和rfind()函数的用法
  17. hibernate原生sql封装,报错信息:could not find setter for rownum_
  18. hdu 4435 第37届ACM/ICPC天津现场赛E题
  19. linux用户及用户组操作
  20. PowerDesigner16 生成的备注脚本,在sql server 2008 中报“对象名 'sysproperties' 无效”的错误的解决办法

热门文章

  1. 106、Label 控制 Service的位置 (Swarm13)
  2. 用java语言(文件和文件流知识点)实现图片的拷贝,从d盘拷贝到e盘
  3. TensorFlow入门——hello
  4. 在mysql 上如何在不影响生产的情况下删除一个大表
  5. iscsi原理
  6. Highcharts基本名词解释
  7. json dumps dump区别
  8. 我说CMMI之四:CMMI的表示方法--转载
  9. echarts常用的配置项
  10. hiho #1062 : 最近公共祖先·一(树,最近祖先)