码迷,mamicode.com
首页 > 编程语言 > 详细

第十四周java课程学习总结

时间:2019-11-29 23:50:40      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:stream   path   menu   size   关闭   adapter   jframe   class   style   

package NAME;

import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import java.awt.*; 
import java.awt.event.*; 
import java.io.*; 
import javax.swing.JMenu;
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.JFileChooser;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
public class java { 
    
      JFrame  subgroup;    
      MenuBar mb; 
      Menu menu;    
      JTextArea jta; 
      MenuItem openItem, saveItem, closeItem; 
      FileDialog openItem,saveItem;  
        
      File file; 
        
        
     
      public java() 
      { 
    
        init(); 
      } 

      public void init() 
      { 
        subgroup=new JFrame("lpf的记事本"); 
        mb=new MenuBar(); 
        mu=new Menu("文件"); 
        openItem=new MenuItem("打开(o)"); 
        saveItem=new MenuItem("保存(s)"); 
        closeItem=new MenuItem("退出(u)"); 
        jta=new JTextArea(); 
          
        subgroup.add(jta); 
          
    
        menu.add(openItem); 
        menu.add(saveItem); 
        menu.add(closeItem); 
          
        mb.add(mu); 
          
        subgroup.setMenuBar(mb); 
          
        openDia=new FileDialog(subgroup, "打开", FileDialog.LOAD); 
        saveDia=new FileDialog(subgroup, "保存", FileDialog.SAVE); 
         
        subgroup.setBounds(200, 300, 500, 400); 
        subgroup.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        subgroup.setVisible(true); 
          
       
        event(); 
          
      } 
        

      public void event() 
      { 
     
        openItem.addActionListener(new ActionListener() 
        { 
      
      
          public void actionPerformed(ActionEvent e) { 
              
      
            openFile(); 
                    
          } 
            
        }); 
          
       
        saveItem.addActionListener(new ActionListener() 
        { 
      
          @Override
          public void actionPerformed(ActionEvent e) { 
            
       
           saveFile();   
              
          } 
            
            
        }); 
      
        jta.addKeyListener(new KeyAdapter() 
        { 
         
          public void keyPressed(KeyEvent e){ 
        
            if(e.isControlDown() && e.getKeyCode() == KeyEvent.VK_S) 
            { 
           
               saveFile();   
           
            } 
          } 
        }); 
          
        closeItem.addActionListener(new ActionListener() 
        { 
      
          
          public void actionPerformed(ActionEvent e) { 
            

            System.exit(0); 
              
          } 
            
        }); 
      } 
        
    
      public void openFile() 
      { 
        openDia.setVisible(true); 
          
    
        if(dirPath==null || fileName==null) 
          return ; 
          
        jta.setText("");           
        file=new File(dirPath,fileName);
          
       
        try
        { 
          BufferedReader br = new BufferedReader(new FileReader(file)); 
      
          String line = null; 
      
          while((line=br.readLine())!=null) 
          { 
            jta.append(line+" r"); 
          } 
      
          br.close(); 
        } 

      public void saveFile() 
      { 
    
        if(file==null) 
        { 
          saveDia.setVisible(true); 
            
          String dirPath = saveDia.getDirectory(); 
          String fileName = saveDia.getFile(); 
        
          if(dirPath==null || fileName==null) 
            return ;   
        
       
        try { 
          BufferedWriter bw=new BufferedWriter(new FileWriter(file)); 
            
          String info=jta.getText(); 
            
          bw.write(info); 
          bw.flush(); 
          bw.close(); 
            
        } catch (IOException e1) { 
            
          throw new RuntimeException(); 
        }     
     } 
        
      public static void main(String[] args) { 
          
        new java(); 
      } 
      
    }

 

 

 

 

 

 

技术图片

 

 

 

 

 

 

 

 

 

 

 

JDBC

 

JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。

 

执行流程

1 连接数据源,如:数据库。

2 为数据库传递查询和更新指令。

3 处理数据库响应并返回的结果。

 

常见的类与接口

 

DriverManager:用于注册驱动(创建连接对象)。 java.sql.DriverManager;

Connection接口:表示与数据库创建的连接 。java.sql.Connection;

Statement接口:操作数据库sql语句的对象,并返回相应结果的对象。 java.sql.Statement;

ResultSet接口:结果集或一张虚拟表(客户端存表数据的对象)。 java.sql.ResultSet;

 

开发步骤

 

1 . 加载驱动(搭建环境):
    I.  将Oracle驱动Jar包复制到项目中的自建lib文件夹下。
    II. ojdbc6.jar 右键 –> build path –> add to build path。
 
2 . 连接数据库(OracleXE):
    I.  通过DriverManager.getConnection(url,user,password)获取数据库连接对象(Connection),提供三个实参:
    1). URL:jdbc:oracle:thin:@localhost:1521:xe  //Uniform Resource Locator 统一资源定位符 协议、IP、端口号、实例名(SID)
    2). UserName:hr
    3). Password
 
3 . 获得发送SQL的工具:
    I.  通过Connection对象获取Statement工具。
    II. 通过Connection对象获取PreparedStatement工具,并且传入预编译SQL
 
4 . 发送SQL语句到数据库执行:
I.  DML语句:statement.executeUpdate(sql); //受影响行数 int
II. DQL语句:statement.executeQuery(sql); //结果集 ResultSet
III  PreparedStatement发送SQL,无需传入SQL
 
5 . 处理结果:
I.  DML语句:逻辑判断
II. DQL语句:展示、封装。
 
6 . 释放资源:
I.  遵循先开后关。
II. 关闭顺序ResultSet、Statement、Connection。
 
 

加载驱动程序:

Class.forName(driverClass)
//加载MySql驱动
Class.forName("com.mysql.jdbc.Driver")
//加载Oracle驱动
Class.forName("oracle.jdbc.driver.OracleDriver")

  

获得数据库连接:

DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc", "root", "root");

 


创建Statement\PreparedStatement对象:

conn.createStatement();
conn.prepareStatement(sql);

 


 

第十四周java课程学习总结

标签:stream   path   menu   size   关闭   adapter   jframe   class   style   

原文地址:https://www.cnblogs.com/lpf666/p/11960914.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!