zoukankan      html  css  js  c++  java
  • 第十四周课程总结&实验报告

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

    17.1JDBC概述

    17.1.1JDBC简介:Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

    17.1.2JDBC驱动分类:

    JDBC驱动类型一:JDBC-ODBC桥驱动
    JDBC驱动类型二:JCDBC本地驱动
    JDBC驱动类型三:JDBC网络驱动
    JDBC驱动类型四:本地协议纯JDBC驱动

    17.1.3JDBC的主要操作类及接口

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

    17.2MySQL数据库

    17.2.1MySQL简介:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    库操作:

    1、创建数据库
    命令:create database <数据库名>
    例如:建立一个名为xhkdb的数据库
    mysql> create database xhkdb;
    2、显示所有的数据库
    命令:show databases 
    mysql> show databases;
    3、删除数据库
    命令:drop database <数据库名>
    例如:删除名为 xhkdb的数据库
    mysql> drop database xhkdb;
    4、连接数据库
    命令: use <数据库名>
    例如:如果xhkdb数据库存在,尝试存取它:
    mysql> use xhkdb;
    屏幕提示:Database changed
    5、查看当前使用的数据库
    mysql> select database();
    6、当前数据库包含的表信息:
    mysql> show tables;
    

    实验报告:

    实验代码:

    test

    package demo;
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.awt.print.PageFormat;
    import java.awt.print.PrinterJob;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class test implements ActionListener {
             JFrame frame;
             JMenuBar bar;
             JMenu fileMenu,editMenu,formatMenu,searchMenu,helpMenu;
             JMenuItem newItem,openItem,saveItem,closeItem,pageItem,printItem;
             JMenuItem withdrawItem,shearItem,copyItem,stickItem,delateItem,seekItem,seeknextItem,replaceItem,turnItem,checkallItem,timeItem;
             JScrollPane scroll;
             JTextArea area;
             JFileChooser chooser;
             File file;
         public test() {
        	 frame=new JFrame("记事本");
        	 bar=new JMenuBar();
        	 fileMenu=new JMenu("文件");
        	 editMenu=new JMenu("编辑");
        	 formatMenu=new JMenu("格式");
        	 searchMenu=new JMenu("查找");
        	 helpMenu=new JMenu("帮助");
        	 newItem=new JMenuItem("新建(N)");
        	 openItem=new JMenuItem("打开(O)");
        	 saveItem=new JMenuItem("另存为(A)");
        	 pageItem=new JMenuItem("页面设置(U)");
        	 printItem=new JMenuItem("打印(P)");
        	 closeItem=new JMenuItem("关闭(X)");
        	 withdrawItem=new JMenuItem("撤回(U)");
        	 shearItem=new JMenuItem("剪切(T)");
        	 copyItem=new JMenuItem("复制(C)");
        	 stickItem=new JMenuItem("粘贴(P)");
        	 delateItem=new JMenuItem("删除(L))");
        	 seekItem=new JMenuItem("查找(F)");
        	 seeknextItem=new JMenuItem("查找下一个(N)");
        	 replaceItem=new JMenuItem("替换(R)");
        	 turnItem=new JMenuItem("转到(G)");
        	 checkallItem=new JMenuItem("全选(A)");
        	 timeItem=new JMenuItem("时间(D)");
        	 
        	 area=new JTextArea();
        	 scroll=new JScrollPane(area);
        	 newItem.addActionListener(this);
        	 openItem.addActionListener(this);
        	 saveItem.addActionListener(this);
        	 closeItem.addActionListener(this);
        	 pageItem.addActionListener(this);
        	 printItem.addActionListener(this);
        	 fileMenu.add(newItem);
        	 fileMenu.addSeparator();
        	 fileMenu.add(openItem);
        	 fileMenu.addSeparator();
        	 fileMenu.add(saveItem);
        	 fileMenu.addSeparator();
        	 fileMenu.add(pageItem);
        	 fileMenu.addSeparator();
        	 fileMenu.add(printItem);
        	 fileMenu.addSeparator();
        	 fileMenu.add(closeItem);
        	 editMenu.add(withdrawItem);
        	 editMenu.addSeparator();
        	 editMenu.add(shearItem);
        	 editMenu.addSeparator();
        	 editMenu.add(copyItem);
        	 editMenu.addSeparator();
        	 editMenu.add(stickItem);
        	 editMenu.addSeparator();
        	 editMenu.add(delateItem);
        	 editMenu.addSeparator();
        	 editMenu.add(seekItem);
        	 editMenu.addSeparator();
        	 editMenu.add(seeknextItem);
        	 editMenu.addSeparator();
        	 editMenu.add(replaceItem);
        	 editMenu.addSeparator();
        	 editMenu.add(turnItem);
        	 editMenu.addSeparator();
        	 editMenu.add(checkallItem);
        	 editMenu.addSeparator();
        	 editMenu.add(timeItem);
        	 
        	 newItem.setMnemonic(KeyEvent.VK_N);
        	 newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,java.awt.Event.CTRL_MASK));
        	 
        	 openItem.setMnemonic(KeyEvent.VK_O);
        	 openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,java.awt.Event.CTRL_MASK));
        	 
        	 saveItem.setMnemonic(KeyEvent.VK_A);
        	 saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,java.awt.Event.CTRL_MASK));
        	 
        	 closeItem.setMnemonic(KeyEvent.VK_X);
        	 closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,java.awt.Event.CTRL_MASK));
        	 pageItem.setMnemonic(KeyEvent.VK_U);
        	 pageItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,java.awt.Event.CTRL_MASK));
        	 printItem.setMnemonic(KeyEvent.VK_P);
        	 printItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,java.awt.Event.CTRL_MASK));
        	 frame.setJMenuBar(bar);
        	 frame.add(scroll);
        	 frame.setSize(750,500);
        	 frame.setVisible(true);
        	 bar.add(fileMenu);
        	 bar.add(editMenu);
        	 bar.add(formatMenu);
        	 bar.add(searchMenu);
        	 bar.add(helpMenu);
    
         }
    	@Override
    	public void actionPerformed(ActionEvent event) {
    		Object obj=event.getSource();
    		if(obj instanceof JMenuItem) {
    			JMenuItem item=(JMenuItem)obj;
    			if(item==newItem)
    			{
    				new test();
    			}else if(item==openItem) {
    				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) {
    				chooser=new JFileChooser();
    				chooser.showOpenDialog(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==pageItem)
    			{
    				 PageFormat pf = new PageFormat();
    		            PrinterJob.getPrinterJob().pageDialog(pf);
    			}
    			else if(item==printItem) {
    				 Print();
    			}
    			else if(item==closeItem) {
    				System.exit(1);
    			}
    			}
    	}
    	private void Print() {
    		// TODO Auto-generated method stub
    		
    	}
    }
    

    test1

    package demo;
    
    public class test1 {
    
    	public static void main(String[] args) {
    		new test();
    
    	}
    
    }
    
    

    运行截图:


    实验总结:这次试验虽然对比之前要难一点,但是在课堂上老师已经讲了很大一部分了,而且课后还用手机将代码拍下来了,所以这次的实验还是能完成的。但这个实验相比于课程设计中的记事本也只不过是冰山一角。所以说,最后的课程设计的记事本可以算得上是一个大工程了。

  • 相关阅读:
    Java实现 洛谷 P1060 开心的金明
    (Java实现) 洛谷 P1605 迷宫
    (Java实现) 洛谷 P1605 迷宫
    (Java实现)洛谷 P1093 奖学金
    (Java实现)洛谷 P1093 奖学金
    Java实现 洛谷 P1064 金明的预算方案
    Java实现 洛谷 P1064 金明的预算方案
    (Java实现) 洛谷 P1031 均分纸牌
    QT树莓派交叉编译环开发环境搭建(附多个exe工具下载链接)
    武则天红人对唐睿宗的桃色报复(如此缺少城府,注定了要在宫廷中过早地出局)
  • 原文地址:https://www.cnblogs.com/chenzg90826/p/11960171.html
Copyright © 2011-2022 走看看