zoukankan      html  css  js  c++  java
  • 借助Java的JDBC自制“DBMS”管理操作数据库

     1 package jdbc;
     2 
     3 import java.sql.Connection;
     4 import java.sql.Driver;
     5 import java.sql.DriverManager;
     6 import java.sql.ResultSetMetaData;
     7 
     8 /**
     9  * @author liuwenlong
    10  * @create 2020-08-11 14:36:20
    11  */
    12 @SuppressWarnings("all")
    13 public class LwlSql {
    14     public static void main(String[] args) {
    15         Connection conn = null;
    16         try {
    17             //第一步,测试是否已经添加了操作oracle的jar包
    18             Class.forName("oracle.jdbc.driver.OracleDriver");
    19             //第二步:和数据库连接
    20             conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.3:1521:xe", "lwl", "123456");
    21             //第三步,创建执行sql语句的对象
    22             java.sql.Statement st = conn.createStatement();
    23 
    24             java.sql.ResultSet rs = null;
    25             byte[] b = new byte[300];
    26             String sql = null;
    27             while (true) {
    28                 try {
    29                     System.out.println("jwlSql>");
    30                     int len = System.in.read(b);
    31                     if (len < 5) {
    32                         System.err.println("invalid sql");
    33                         continue;
    34                     }
    35                     if (b[len - 2] == 13 && b[len - 1] == 10) {
    36                         len = len - 2;
    37                     } else {
    38                         len = len - 1;
    39                     }
    40                     sql = new String(b, 0, len);
    41                     if (sql.equals("exit") || sql.equals("quit")) {
    42                         System.out.println("welcome again!!");
    43                         return;
    44                     }
    45                     //查询
    46                     if (sql.startsWith("select")) {
    47                         rs = st.executeQuery(sql);
    48                         ResultSetMetaData md = rs.getMetaData();
    49                         int fld = md.getColumnCount();
    50                         for (int i = 1; i <= fld; i++) {
    51                             System.out.print(md.getColumnName(i) + "	");//显示列名字
    52                         }
    53                         System.out.println();
    54                         while (rs.next()) {//显示数据
    55                             for (int i = 1; i <= fld; i++) {
    56                                 System.out.print(rs.getString(i) + "		");
    57                             }
    58                             System.out.println();
    59                         }
    60                     } else {
    61                         st.executeUpdate(sql);
    62                     }
    63                 } catch (Exception e) {
    64                     System.err.println(e.getMessage());
    65                 }
    66             }
    67         } catch (Exception e) {
    68             System.err.println(e.getMessage());
    69         }
    70     }
    71 }

  • 相关阅读:
    Python_01安装与配置
    数据库的事务日志已满,起因为"LOG_BACKUP"
    百度网盘视频在线倍速播放的方法——Js 一行代码实现
    Socket里Client和Server
    Python自动化执行遍历点击列表的前20行每一行
    pyhton判断闰年
    Python程序结构-包
    试题 历届试题 错误票据
    试题 历届试题 剪格子
    试题 历届试题 打印十字图
  • 原文地址:https://www.cnblogs.com/lwl80/p/13479421.html
Copyright © 2011-2022 走看看