Java 数据库操作oracle增删改查,通用封装基于hashmap
pt1:首先安装oracle连接驱动
下载地址:https://pan.baidu.com/s/1jW_ofgU4eJmAn7Y2J5B46A 密码:epkz 1.将ojdbc6.jar导入项目中 先创建一个项目,然后在鼠标移到项目上右键-->new-->folder;folder name:lib;这样就在项目中创建了一个文件夹lib;然后将ojdbc6.jar包导入该文件夹中 2.Reference Library包右键-->build path-->add extend 导入jar包apply and save; package Db;
import java.sql.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.HashMap;
import java.util.Map; import org.openqa.selenium.remote.server.handler.DeleteCookie; import bsh.This;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class OrcTest {
String url;
String user;
String pwd;
String sql;
Connection connect;// 创建一个数据库连接
PreparedStatement pre ;// 创建预编译语句对象,一般都是用这个而不用Statement
ResultSet result; public OrcTest(String url,String user,String pwd){
this.url=url;
this.user=user;
this.pwd=pwd;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
this.connect=DriverManager.getConnection(this.url, this.user, this.pwd);
}catch (Exception e) {
System.out.println("连接数据驱动失败");
e.printStackTrace();
}
}
public void CloseDb(){
try {
if(this.pre !=null) {
this.pre.close();
System.out.println("关闭事物");
}
if(this.result !=null) {
this.result.close();
System.out.println("关闭结果对象");
}
if(this.connect !=null) {
this.connect.close();
System.out.println("关闭连接");
}
}catch (Exception e) {
e.printStackTrace();
}
}
// exe_select
public ArrayList<Object> exeselect(String sql) {
ArrayList<Object> list =new ArrayList<Object>();
try {
this.pre=this.connect.prepareStatement(sql);
this.result = this.pre.executeQuery();
ResultSetMetaData rsmd=null;
int count=0;
rsmd = this.result.getMetaData();
count=rsmd.getColumnCount();
while(this.result.next()) {
Map<String, Object> map = new HashMap<String, Object>();
for (int i = 1; i <= count; i++) {
map.put(rsmd.getColumnLabel(i),this.result.getObject(i));
}
JSONObject json = JSONObject.fromObject(map);
list.add(json.toString());
}
}catch(Exception e) {
e.printStackTrace();
}finally {
this.CloseDb();
}
return list;
}
//delete and update and insert
public boolean DeleteOrUpdateInsert(String sql) {
boolean bool;
try {
this.pre=this.connect.prepareStatement(sql);
this.pre.executeUpdate();
System.out.println("操作成功!!!!!!");
bool =true;
}catch (Exception e) {
bool=false;
e.printStackTrace();
}finally {
this.CloseDb();
}
return bool;
}
public static void main(String[] args){
String url="jdbc:oracle:thin:@localhost:1521/orcl";
String user="SCOTT";
String pwd="pipeline";
// String sql="select * from bonus";
OrcTest ob= new OrcTest(url, user, pwd);
// System.out.println(ob.exeselect(sql));
// System.out.println(ob.connect);
System.out.println(ob.DeleteOrUpdateInsert("insert into bonus(ENAME,JOB,SAL,COMM)VALUES('del','job_del',122,3)")); }
} ============================输出如下: 操作成功!!!!!!
关闭事物
关闭连接
true
============== 关闭事物
关闭结果对象
关闭连接
[{"ENAME":"cdp","COMM":1,"JOB":"jod_1234","SAL":1254}, {"ENAME":"cdp3","COMM":2,"JOB":"job003","SAL":1333}, {"ENAME":"cdp4","COMM":2,"JOB":"job004","SAL":1444}, {"ENAME":"cdp1","COMM":2,"JOB":"job222","SAL":1235}]
oracle.jdbc.driver.T4CConnection@533e64
json转换java 需要全jar包下载git地址 https://github.com/chen1932390299/pyscripts.git
Java 数据库操作oracle增删改查,通用封装基于hashmap的更多相关文章
- Linq 数据库操作(增删改查)
Linq数据库增删改查 Linq是一种查询语言,集成包含在formwork中,包含在C#语言中,它的作用是降低查询的门槛,提高开发效率,是我们必须掌握的技术之一,下面是我自己对linq数据库操作的方法 ...
- spring boot快速入门 4: jpa数据库操作 实现增删改查
spring boot jpa逆向生成表 简单实例: 第一步:pom文件: <?xml version="1.0" encoding="UTF-8"?&g ...
- 初次尝试PHP——一个简单的对数据库操作的增删改查例子
第一次学习PHP,很多人说PHP是最好的语言,学习了一点点,还不敢说这样的话,不过确实蛮好用的. 做了一个简单的对数据库的增删改查的操作,主要是将四种操作写成了独立的函数,之后直接调用函数.以下是代码 ...
- iOS sqlite 增删改查 简单封装(基于 FMDB)
/** * 对 sqlite 的使用进行简单封装,仅涉及简单的单表 增删改查 * * 基于 FMDB * * 操作基于 model ,数据库表字段与 model 属性一一对应,对 model 整 ...
- MySQL数据库操作:“增删改查”,忘记密码重置等。
[注] 数据库的“增删查改”,参考原作者Wid:http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html#d11.感谢大佬们的技术分享 ...
- flask 数据库操作(增删改查)
数据库操作 现在我们创建了模型,生成了数据库和表,下面来学习常用的数据库操作,数据库操作主要是CRUD,即Create(创建).Read(读取/查询).Update(更新)和Delete(删除). S ...
- ThinkPHP 数据库操作(二) : 增删改查
基本使用 可以直接使用数据库运行原生SQL操作了,支持 query (查询操作)和 execute (写入操作)方法,并且支持参数绑定. Db::query('select * from think_ ...
- php单例模式封装数据库操作类增删改查
<?php//三私一公 单例class Db{ //数据库连接对象 private static $instance; private static $table_name; private $ ...
- laravel中的数据库操作(增删改查)方法一
导入命名空间和DBnamespace App\Http\Controllers; use Illuminate\Support\Facades\DB; public function index(){ ...
随机推荐
- bsgs(Baby Steps Giant Steps)算法
BSGS算法(Baby Steps Giant Steps算法,大步小步算法,北上广深算法,拔山盖世算法) 适用问题 对于式子: $$x^y=z(mod_p)$$ 已知x,z,p,p为质数: 求解一个 ...
- jQuery中判断input的disabled属性
<input type="text" id="ipt1" disabled> <input type="text" id= ...
- ArcGIS最权威、最专业的技术分享网站:积思园(www.iarcgis.com)
你对iArcGIS.com说点什么 为什么会有该网站的产生 在这个所谓的“大数据”的时代,每个人都深陷于海量信息无法自拔,因为过多碎片化的数据只会让自己的思维更加迷离,快餐式的阅读只会让自己变得虚胖. ...
- [2014年学习计划之RoR系列] 第二步 – 熟悉Ruby语言 (2/n) Blocks and Iterators (代码块和迭代器)
[就算没有含金量,也请尊重原创, 转载自我的独立博客http://brucejia.net] Blocks and Iterators (代码块和迭代器) 代码块和迭代器是Ruby语言中比较有特点的东 ...
- PMP项目管理
http://blog.sina.com.cn/s/blog_a3922d430102wv38.html https://www.zhihu.com/question/19882243 最近学习pmp ...
- Informatica 9.5安装部署
Informatica 结构 1个或多个资源库(Respository) PowerCenter数据整合引擎是基于元数据驱动的,提供了基于数据驱动的元数据知识库(Repository),该元数据知识 ...
- c#(winform)环境下使用动态链接库dll的详解
1,什么是dll文件? DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型.在Windows中,许多应用程序并不是一个完整的可执行文件,它们被 ...
- git 和github
ssh git: 是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这 ...
- aspnetcore 认证相关类简要说明一
首先我想要简要说明是AuthenticationScheme类,每次看到Scheme这个单词我就感觉它是一个很高大上的单词,其实简单翻译过来就是认证方案的意思.既然一种方案,那我们就要知道这个方案的名 ...
- PHP-FPM详解
目录 作用 安装 全局配置 配置进程池 参考Company开发环境 转发请求给PHP-FPM 思考 作用 PHP-FPM(PHP FastCGI Process Manager)意:PHP FastC ...