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


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

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

    运行截图:


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

  • 相关阅读:
    win7常用快捷键
    java中构造代码块、方法调用顺序问题
    eclipse项目改为maven项目导致svn无法比较历史数据的解决办法
    linux配置Anaconda python集成环境
    DataFrame对行列的基本操作实战
    驱动:电阻屏触摸芯片NS2009
    读书笔记:代码大全(第二版)
    资料:磁角度传感器芯片
    经验:FatFs文件系统实时写入
    笔记:CAN收发器-TJA1051T与TJA1051T/3调试总结
  • 原文地址:https://www.cnblogs.com/chenzg90826/p/11960171.html
Copyright © 2020-2023  润新知