package jdbc;

 import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSetMetaData; /**
* @author liuwenlong
* @create 2020-08-11 14:36:20
*/
@SuppressWarnings("all")
public class LwlSql {
public static void main(String[] args) {
Connection conn = null;
try {
//第一步,测试是否已经添加了操作oracle的jar包
Class.forName("oracle.jdbc.driver.OracleDriver");
//第二步:和数据库连接
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.3:1521:xe", "lwl", "123456");
//第三步,创建执行sql语句的对象
java.sql.Statement st = conn.createStatement(); java.sql.ResultSet rs = null;
byte[] b = new byte[300];
String sql = null;
while (true) {
try {
System.out.println("jwlSql>");
int len = System.in.read(b);
if (len < 5) {
System.err.println("invalid sql");
continue;
}
if (b[len - 2] == 13 && b[len - 1] == 10) {
len = len - 2;
} else {
len = len - 1;
}
sql = new String(b, 0, len);
if (sql.equals("exit") || sql.equals("quit")) {
System.out.println("welcome again!!");
return;
}
//查询
if (sql.startsWith("select")) {
rs = st.executeQuery(sql);
ResultSetMetaData md = rs.getMetaData();
int fld = md.getColumnCount();
for (int i = 1; i <= fld; i++) {
System.out.print(md.getColumnName(i) + "\t");//显示列名字
}
System.out.println();
while (rs.next()) {//显示数据
for (int i = 1; i <= fld; i++) {
System.out.print(rs.getString(i) + "\t\t");
}
System.out.println();
}
} else {
st.executeUpdate(sql);
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}

最新文章

  1. python学习笔记整理——集合 set
  2. 【8-30】oracle数据库学习
  3. Sea.js学习3——Sea.js的CMD 模块定义规范
  4. strcpy函数实现
  5. Mac下的常用Shell命令
  6. 使用另一种方式实现js中Function的调用(call/apply/bind)
  7. MySql相关及如何删除MySql服务
  8. wamp中的httpd.conf文件设置
  9. migrate from weblogic to tomcat: directory mapping--reference
  10. 深入解读ESB与SOA的关系
  11. 【D3】D3学习轨迹-----学习到一定层度了再更新
  12. 笔记+R︱风控模型中变量粗筛(随机森林party包)+细筛(woe包)
  13. 【BZOJ3530】数数(AC自动机,动态规划)
  14. 学习Android过程中的一些博客或工具收集
  15. BZOJ.4842.[NEERC2016]Delight for a Cat(费用流)
  16. js中循环对比(for循环,foreach,for in,for of ,map)
  17. 微软官方的Windowsphone社区
  18. SpringBoot扩展SpringMVC自动配置
  19. [Python 从入门到放弃] 1. 列表的基本操作
  20. [转]DevOps解决方案-腾讯云

热门文章

  1. db2 创建function报错
  2. spring时遇到的小问题
  3. JavaScript 数组中根据某个属性值的中文进行排序
  4. notepad++ 设置支持golang语法高亮
  5. 编译原理 First集和Follow集的求法
  6. [开源] .Net ORM FreeSql 1.8.0-preview 最新动态播报(番号:我还活着)
  7. 走正确的路 - IT业没有护城河 - 机器翻译新锐Deepl
  8. linux驱动之内核多线程(三)
  9. Java并发篇
  10. wc.exe程序