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 }

  • 相关阅读:
    Thinkphp3.2 下载文件的方法
    使用Git向GitHub上传代码
    Ajax的调试错误信息的输出
    常用的邮箱服务器(SMTP、POP3)地址、端口
    Laravel框架中使用邮件发送功能
    Laravel框架之CSRF防跨站攻击
    Laravel框架接入短信平台进行用户注册短信验证
    Laravel中使用Session存取验证码信息
    beego api 服务允许跨域访问,解决前端访问报Access-Control-Allow-Origin问题
    golang:send mail using smtp package
  • 原文地址:https://www.cnblogs.com/lwl80/p/13479421.html
Copyright © 2011-2022 走看看