1.1 java中的数据存储技术

在java中,数据库存取技术可分为如下几类:

1、jdbc直接访问数据库

2、jdo(java data object)是java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化api。

3、第三方o/r 比如hibernate,mybatis等

jdbc是java访问数据库的基石,jdo、hibernate、mybatis,jdo,hibernate、mybatyis等只是更好的封装的jdbc。

最近用idea连接oracle数据库 并且实现增删改操作的时候,遇到的一些问题在这里跟大家分享一下。

首先,idea连接连接数据库,都需要进行connnection,也就是需要jdbc(java database connection)

在进行连接之前,最先要做的事情就是导入对应所使用的数据库的jar包。(常见的数据库有mysql,oracle,sqlserver等等)

举个例子:

我要连接oracle数据库,就到oracle的官网上下载对应的jar包,当引入jar包下面出现小三角的时候,就说明导包成功!!

第一步成功,我们套用jdbc的代码,基本上这个大家都能明白,咱也可以把它封装在一个类里边,必要的时候拿过来使用。

如下代码所示: 注意看代码的注释!!

import java.sql.connection;

import java.sql.drivermanager;

import java.sql.resultset;

import java.sql.statement;

import java.util.scanner;

//与数据库建立连接

public class connectiontest {

//获取连接的三个基本信息

private string dburl = "jdbc:oracle:thin:@localhost:1521:orcl";

private string dbuser = "test";

private string dbpwd = "test";

// 获取数据库连接方法, 返回connection对象

private connection con = null;

//创建数据库连接

public connection getdbconnect() {

try {

// 加载数据库驱动 不同的数据库下面这个驱动是不同的,这个千万要注意!!!

class.forname("oracle.jdbc.driver.oracledriver");

con = drivermanager.getconnection(dburl, dbuser, dbpwd);

} catch (exception e) {

system.out.println(e);

}

return con;

}

}

然后我们写一个主方法测试一下:也就是程序执行的出口,运行至下面这句话说明连接成功! 连接数据库成功仅仅是第二步,接下来更重要的是进行对数据库的增删改操作!!

连接数据库成功之后,就是为了下面增删改操作服务的。注意看对数据库进行插入操作的方法如下:(插入操作的方法要写在connection这个类里边)

public void testinsert() {

preparedstatement ps1 = null; //使用该类执行增删改操作不会发生sql注入现象!!

//在进行插入操作的时候 保证你的表、以及对应的列名都存在 ?在这里表示占位符

string sql = "insert into t_user(id,username,password1,email) values(?,?,?,?)";

try {

//1、预编译sql语句 返回preparedstatement的实例给ps1 con表示connection的对象

ps1 = con.preparestatement(sql);

//2、填充占位符=?

ps1.setstring(1, "2");

ps1.setstring(2, "ww");

ps1.setstring(3, "12345");

ps1.setstring(4, "907372669@qq.com");

//执行操作

ps1.execute();

} catch (sqlexception e) {

e.printstacktrace();

}

//资源的关闭

try {

if (ps1 != null)

ps1.close();

} catch (sqlexception e) {

e.printstacktrace();

}

try {

if (con != null)

con.close();

} catch (sqlexception e) {

e.printstacktrace();

}

}

插入方法写好之后,在主函数里面调用即可实现插入操作,千万注意自己写的sql语句写的有没有存在问题。

同样往下是删除操作的方法(ps:注意观察关闭资源的方法,将其写在一个方法体里,减少代码的重用性!!)

public void testupdate() {

preparedstatement ps2 = null;

//编写sql语句 返回preparedstatement的实例

string sql = "update t_user set username = ? where id = ? ";

try {

ps2 = con.preparestatement(sql);

//填充占位符=?

ps2.setobject(1,"newgg");

ps2.setobject(2,"1");

//执行

ps2.execute();

} catch (sqlexception e) {

e.printstacktrace();

}

//实现资源关闭的方法

closesources(ps2,con);

}

//实现资源关闭的方法如下:

public void closesources(preparedstatement ps, connection con) {

try {

if (ps != null)

ps.close();

} catch (sqlexception e) {

e.printstacktrace();

}

try {

if (con != null)

con.close();

} catch (sqlexception e) {

e.printstacktrace();

}

}

接下来实现修改某一行的属性的方法,逻辑实现同插入删除一样。

public void testupdate() {

//编写sql语句 返回preparedstatement的实例

preparedstatement ps2 = null;

string sql = "update t_user set username = ? where id = ? ";

try {

ps2 = con.preparestatement(sql);

//填充占位符=?

ps2.setobject(1,"newgg");

ps2.setobject(2,"1");

//执行

ps2.execute();

} catch (sqlexception e) {

e.printstacktrace();

}

//实现资源的关闭

closesources(ps2,con);

}

套路都是一样,细心的人会发现,增删改的操作步骤都是一样的,但唯独sql语句不一样,进而填充占位符的参数是不一样的,利用java 具有可变长参数的性质,我们可以写出一个通用的增删改的方法

//实现增删改的通用操作

// sql占位符中的个数与可变长参数的长度一致!!

public void insert_delete_update(string sql, object ...args) {

//预编译sql语句,返回preparedstatement的实例

preparedstatement ps4 = null;

try {

ps4 = con.preparestatement(sql);

//填充占位符

for(int i=0; i

ps4.setobject(i+1,args[i]);

}

//执行

ps4.execute();

} catch (sqlexception e) {

e.printstacktrace();

}

//实现资源的关闭

closesources(ps4,con);

}

于是进而实现代码块分离,sql语句写在另一个方法里,代码实现如下:

public void test_insert_delete_update() {

string sql1 = "update t_user set username = ? where id = ? ";

//仔细观察这个调用的方法 username=“newq” id=“2”这两个参数传入这个方法里

insert_delete_update(sql1,"newq","2");

}

在主函数调用该方法,即可实现对表的增删改操作!

到此这篇关于使用idea对oracle数据库进行简单增删改查操作的文章就介绍到这了,更多相关idea对oracle数据库增删改查内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

java调用oracle删除,使用IDEA对Oracle数据库进行简单增删改查操作相关推荐

  1. Oracle数据库常见的增删改查操作语句大全

    回收站: show recyclebin (命令行语句) 清空回收站: purge recyclebin 回收站还原已删除表: flashback table table_name to before ...

  2. java操作mysql数据库_java连接mysql数据库 三 实现增删改查操作

    public classJDBCTest {public static voidmain(String[] args){//add(uname, uemail, upwd);//update(&quo ...

  3. Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

    此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...

  4. 基础的java增删改查,Java基础系列(基础):Java使用Cookie增删改查操作!

    什么是Cookie? Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制. Cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个co ...

  5. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...

    Java使用jdbc连接MySql数据库,实现增删改查 首先,导入MySql连接数据库的jar包,我用的是 mysql连接jar包 DB类,用于获得数据库连接 import java.sql.Driv ...

  6. java jdom进行xml的增删改差_java使用DOM对XML文档进行增删改查操作实例代码

    本文研究的主要是java使用DOM对XML文档进行增删改查操作的相关代码,具体实例如下所示. 源代码: package com.zc.homeWork18; import java.io.File; ...

  7. Java连接sqlserver数据库,并进行增删改查操作

    用编程语言连接数据库是程序员必备的技能,今天我们就来学习一下如何通过Java来连接sqlserver数据库,并实现增删改查操作. 需要用到的工具: Myeclipse,sqlserver数据库,Mic ...

  8. Java程序-单链表增删改查(实现对水浒人物的增删改查操作)

    单链表增删改查(实现对水浒人物的增删改查操作) 前言 一.链表(Linked List)介绍 二.应用实例 1.问题描述 2.代码实现 总结 前言 参考:B站,尚硅谷数据结构与算法 课程 一.链表(L ...

  9. java servlet dao_Java+MyEclipse+Tomcat 详解Servlet和DAO数据库增删改查操作(源码)

    [实例简介] 该资源主要参考自己的博客http://blog.csdn.net/eastmount/article/details/45936121 讲诉Java+MyEclipse+Tomcat 详 ...

最新文章

  1. 【多线程学习笔记】sychronized关键字底层原理、sychronized与ReentrantLock、volatile和synchronized
  2. 【android】窗口管理
  3. Caffe 在自己的数据库上训练步骤
  4. 62 SD配置-交货凭证配置-定义交货类型
  5. C语言控制台窗口界面编程:用printf在终端打印一个GUI窗口
  6. pythonrequest函数怎么编写出来的_python requests包的request()函数中的参数-params和data的区别简介...
  7. 神舟七号飞船应用计算机进行飞行状态属于,“神舟七号”飞船应用计算机进行飞行状态调整属于()。...
  8. c++ atuo_ptr 的实现原理
  9. Oracle 容灾方案选择
  10. 优雅的解决Springboot:BindingException: Invalid bound statement (not found):异常
  11. 科目三-上海松江小昆山
  12. 强烈推荐这款刷题小程序
  13. 麒麟鲲鹏升腾鸿蒙巴龙,华为四大芯片 麒麟、巴龙、昇腾和鲲鹏“四大天王”...
  14. 电感器饱和的简单说明
  15. Alist云盘视频加密助手:支持云盘视频文件加密与在线播放,不用再担心视频文件被和谐了!
  16. PS-第三天-钢笔抠图及商业案例
  17. NBIOT模组M5310接入OneNET平台
  18. 这可能是我学习计算机以来的全部收获和总结
  19. Python3网络爬虫(四):使用User Agent和代理IP隐藏身份
  20. 前端基础——HTML、CSS

热门文章

  1. Spring(四)Bean注入方试
  2. pcap文件解析工具_【免费毕设】PHP网络数据包分析工具的设计与开发(源代码+论文)...
  3. 参数迁移表达的第三种形态相互作用
  4. 二分类minst0-1到0-9近似迭代次数公式和准确率公式汇总
  5. ubuntu python版本切换_ubuntu18.04 python版本切换
  6. stm32 usb 虚拟串口 相同_RTThread STM32 虚拟串口代码级移植
  7. 使用Android内部的DownloadProvider下载文件,并获取cache权限 .
  8. 树莓派制作“数码显微镜”,了解一下?
  9. 985学校计算机专业毕业月薪过万,这八个985和211大学分数低,容易考,毕业后月薪过万...
  10. 本博客Matlab、FPGA代码获取方法