课程总结:

1、Java实现跨平台操作的工具:JDBC。

它的意思是java数据库连接,可以方便的实现多种关系型数据库的统一操作,它由一组用java语句编写的类和接口组成。

2、JDBC驱动分类:

JDBC有着多种驱动:

1)JDBC-ODBC桥驱动。

2)JDBA本地驱动。

3)JDBC网络驱动。

4)本地协议纯JDBC驱动。

3、JDBC的主要操作类及接口。

4、MySQL的命令。

连接MySQL数据库:

mysql-u 用户名 -p 密码

创建数据库:

创建数据库:CREATE DATABASE 数据库名称;
删除数据库:DROP DATABASE 数据库名称;

使用数据库:

USE 数据库名称;

创建数据库表:

CREATE TABLE 表名称{
字段名称1 字段类型 [DEFAULT 默认值] [约束],
字段名称2 字段类型 [DEFAULT 默认值] [约束],
.....
字段名称n 字段类型 [DEFAULT 默认值] [约束],
};

5、查询数据。

SELECT {*|column alias}
FROM 表名称 别名
[WHERE conditon(s)]; ->设置查询条件<-

6、连接数据库的操作:

JDBC的连接地址实际上是由以下的3个部分组成。

(1)jabc 协议:JDBC URL 中的协议总是 jdbc。

(2)子协议:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,如

MySQL

(3)子名称: 种标识数据库的方法。必须遵循“//主机名:端口/子协议”的标准URL 命名约定,如

//localhost:3306/mldn

7、Connection接口的常用方法:

8、ResultSet接口

在JDBC的操作中数据库的所有查询记录将使用ResultSet进行接受,并使用它取得内容

实验总结

实验代码

声明与监听代码:
package text; import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*; import static javax.swing.KeyStroke.*;
public class TextPad 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 TextPad() {
frame = new JFrame("SZH");
bar = new JMenuBar();
fileMenu = new JMenu("文件");
editMenu = new JMenu("编辑");
newIcon = new ImageIcon("d:" + File.separator + "TEXT" + File.separator + "IMG_20191002_154741.jpg");
openIcon = new ImageIcon("d:" + File.separator + "TEXT" + File.separator + "IMG_20191101_173538.jpg");
saveIcon = new ImageIcon("d:" + File.separator + "TEXT" + File.separator + "IMG_20191101_173559.jpg");
closeIcon = new ImageIcon("d:" + File.separator + "TEXT" + File.separator + "IMG_20191101_173632.jpg");
newItem = new JMenuItem("新建(N)", newIcon);
openItem = new JMenuItem("打开(O)", openIcon);
saveItem = new JMenuItem("另存为(A)", saveIcon);
closeItem = new JMenuItem("关闭(X)", closeIcon);
area = new JTextArea();
scroll = new JScrollPane(area); newItem.setMnemonic(KeyEvent.VK_N);
openItem.setMnemonic(KeyEvent.VK_O);
saveItem.setMnemonic(KeyEvent.VK_A);
closeItem.setMnemonic(KeyEvent.VK_X); newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK));
openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK));
saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));
closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK)); fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.addSeparator();
fileMenu.add(closeItem);
newItem.addActionListener((ActionListener) this);
openItem.addActionListener((ActionListener) this);
saveItem.addActionListener((ActionListener) this);
closeItem.addActionListener((ActionListener) this); bar.add(fileMenu);
bar.add(editMenu);
frame.setJMenuBar(bar);
frame.add(scroll);
frame.setVisible(true);
frame.setSize(400,200);
frame.setLocation(200,100);
}
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){
JFileChooser chooser=new JFileChooser();
chooser.showOpenDialog(null);
file=chooser.getSelectedFile();
try {
FileInputStream fis=new FileInputStream(file);
try {
byte[] b=new byte[fis.available()];
fis.read(b);
area.append(new String(b));
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace(); }
}
else if (item==saveItem){
JFileChooser chooser = new JFileChooser();
chooser.showSaveDialog(null);
file=chooser.getSelectedFile();
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
try {
FileOutputStream fos=new FileOutputStream(file);
byte[] b = area.getText().getBytes();
try {
fos.write(b);
} catch (IOException ex) {
ex.printStackTrace();
}
try {
fos.close();
} catch (IOException ex) {
ex.printStackTrace();
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
}
}
}
else if (item==closeItem){
System.exit(24);
}
}
}
}
实现代码:
package text; public class Test {
public static void main(String[] args) {
new TextPad();
}
}

实验结果截图:

运行结果:

整体界面:



新建与打开:



另存为:

实验总结

完成老师上课说过的和书上有的习题还是比较容易的,运用到了的知识比较全面,算是一次复习了!!!

获得的收益很大!

但是在输入与输出阶段还是忘记怎么在字符流和字节流相互转换,还是查询书籍才能做出来!

自我总结

知识点上课有认真听,但是在课后的巩固工作做的不够好!

现在做的实验和快要到来的实验设计都是综合性高的题目!需要花更多的时间在巩固知识上去!!!

记忆一下我们学过的基础知识和各个方法名,可以在程序中使用帮助文档来获得你要查询的方法的方法体及作用、用法!!

第十四周课程总结&&实验总结的更多相关文章

  1. 第十四周课程总结&实验报告

    简单记事本的实现 实验源码 主类 package test1; import javax.swing.JFrame; import javax.swing.JTextArea; public clas ...

  2. 第十四周课程总结 & 实验报告

    一.JDBC JDBC概述 JDBC提供了一种与平台无关的用于执行SQL语句的标准JavaAPI,可以方便的实现多种关系型数据库的统一操作,它由一组用Java语言编写的类和接口组成 JDBC的主要操作 ...

  3. 第十四周课程总结&实验报告(简单记事本的实现)

    1.JDBC概述 JDBC提供了一种与平台无关的用于执行SQL语句的标准JavaAPI,可以方便的实现多种关系型数据库的统一操作,它由一组用Java语言编写的类和接口组成 主要常用操作类与接口: ja ...

  4. 第四周课程总结&实验报告(二)

    Java实验报告(二) 实验二 Java简单类与对象 一. 实验目的 (1) 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: (2) 理解类和对象的区别,掌握构造 ...

  5. 第四周课程总结&实验报告二

    第四周课程总结 第四周课程总结 本周重点为学习String;首先String用以创建字符串,且通过有一次课堂练习加强理解到:String 类是不可改变的,一旦创建了 String 对象,那它的值就无法 ...

  6. 第四周课程总结&实验报告

    实验报告 1.写一个名为Rectangle的类表示矩形. 其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求 ...

  7. 第十四周课程总结&记事本功能的简单实现。

    (1)课程总结: 这周简单学习了下JDBC的内容: JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据. 执行流程: (1)连接数据源,如:数据库. (2)为数据库传递查 ...

  8. 2019Java第十四周课程总结

    关于记事本代码上周已经写过了,这次把他粘过来了,如下: 记事本 package jishiben; import java.awt.event.ActionEvent; import java.awt ...

  9. 201871010111-刘佳华《面向对象程序设计(java)》第十四周学习总结

    201871010111-刘佳华<面向对象程序设计(java)>第十四周学习总结 实验十二  Swing图形界面组件(一) 实验时间 2019-11-29 第一部分:基础知识总结 1.设计 ...

随机推荐

  1. matplotlib动画

    注意:要有动画效果,必须独立窗口:独立窗口的设置方法:https://www.cnblogs.com/liming19680104/p/10614070.html import matplotlib. ...

  2. 对数据劫持 OR 数据代理 的研究------------引用

    数据劫持,也叫数据代理. 所谓数据劫持,指的是在访问或者修改对象的某个属性时,通过一段代码拦截这个行为,进行额外的操作或者修改返回结果.比较典型的是 Object.defineProperty() 和 ...

  3. 关于Environment类的使用

    import org.springframework.core.env.Environment; EnvironmentAware 如何引用这个类1.可以通过 @Autowired织入Environm ...

  4. (转)HTTP请求报文和HTTP响应报文

    原地址:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/28/2612910.html HTTP报文是面向文本的,报文中的每一个字段都是一些ASC ...

  5. R_Studio(学生成绩)使用主成分分析实现属性规约

    对11_1_4.csv成绩表进行主成分分析处理 setwd('D:\\data') list.files() #读取数据 dat=read.csv(file="11_1_4.csv" ...

  6. sqli-labs(39)

    0X01 这关和38关一样 ?id= and =1 正确 ?id=1 and 1=2 错误 不需要闭合 构造语法 0X02 ?id=;insert into users values(,"z ...

  7. [洛谷P1501] [国家集训队]Tree II(LCT模板)

    传送门 这是一道LCT的板子题,说白了就是在LCT上支持线段树2的操作. 所以我只是来存一个板子,并不会讲什么(再说我也不会,只能误人子弟2333). 不过代码里的注释可以参考一下. Code #in ...

  8. docker容器的学习

    什么是docker   Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源 ...

  9. C++入门经典-例6.17-输出每行数组中的最小值

    1:代码如下: // 6.17.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...

  10. linux pwd指令的C实现

    linux pwd指令的C实现 pwd指令的功能介绍 linux pwd命令用于显示工作目录 执行pwd命令可立刻得知当前所在工作目录的绝对路径名称. 示例: 查询系统手册 如图所示,getcwd的描 ...