Oracle使用JDBC进行增删改查 表是否存在
数据库和表
(
USERNAME VARCHAR2(20) not null,
PASSWORD VARCHAR2(20)
)
alter table USERS
add constraint U_PK primary key (USERNAME)
//检查表是否存在
public boolean validateTableExist(String tableName){
int result = 0;
String sql = "SELECT COUNT(*) FROM USER_OBJECTS WHERE OBJECT_NAME = UPPER('"+tableName+"')";
Connection conn = this.getSession().connection();
Statement st = null;
ResultSet rs = null;
try{
st = conn.createStatement();
rs = st.executeQuery(sql);
rs.next();
result = rs.getInt(1);
}catch(Exception e){
e.printStackTrace();
}finally{
this.util.closeAll(rs, st, conn);
}
return result==0?false:true;
} JDBC的完整方法,CloseAll方法就不给你写了.如果表存在就返回True,不存在返回False,可以直接用在你的IF判断中:
if(validateTableExist(tname)){
String sql1="insert into "+tname+" values(?,?,?,?,?,?)";
....................
}
/**
* JdbcExample.java
*
* Provider: CoderDream's Studio
*
* History
* Date(DD/MM/YYYY) Author Description
* ----------------------------------------------------------------------------
* Apr 14, 2008 CoderDream Created
*/
package com.coderdream.jdbc.oracle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* @author XL
*
*/
public class JdbcExample {
private static Connection getConn() {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@10.5.15.117:1521:csi";
String username = "scott";
String password = "tiger";
Connection conn = null;
try {
Class.forName(driver);
// new oracle.jdbc.driver.OracleDriver();
conn = DriverManager.getConnection(url, username, password);
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
private static int insert(String username, String password) {
Connection conn = getConn();
int i = 0;
String sql = "insert into users (username,password) values(?,?)";
PreparedStatement pstmt;
try {
pstmt = conn.prepareStatement(sql);
// Statement stat = conn.createStatement();
pstmt.setString(1, username);
pstmt.setString(2, password);
i = pstmt.executeUpdate();
System.out.println("resutl: " + i);
pstmt.close();
conn.close();
}
catch (SQLException e) {
e.printStackTrace();
}
return i;
}
private static void query() {
Connection conn = getConn();
String sql = "select * from users";
PreparedStatement pstmt;
try {
pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println("name: " + rs.getString("username")
+ " \tpassword: " + rs.getString("password"));
}
rs.close();
pstmt.close();
conn.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
private static int update(String oldName, String newPass) {
Connection conn = getConn();
int i = 0;
String sql = "update users set password='" + newPass
+ "' where username='" + oldName + "'";
PreparedStatement pstmt;
try {
pstmt = conn.prepareStatement(sql);
i = pstmt.executeUpdate();
System.out.println("resutl: " + i);
pstmt.close();
conn.close();
}
catch (SQLException e) {
e.printStackTrace();
}
return i;
}
private static int delete(String username) {
Connection conn = getConn();
int i = 0;
String sql = "delete users where username='" + username + "'";
PreparedStatement pstmt;
try {
pstmt = conn.prepareStatement(sql);
i = pstmt.executeUpdate();
System.out.println("resutl: " + i);
pstmt.close();
conn.close();
}
catch (SQLException e) {
e.printStackTrace();
}
return i;
}
/**
* @param args
*/
public static void main(String[] args) {
insert("CDE", "123");
insert("CoderDream", "456");
query();
update("CoderDream", "456");
query();
delete("CoderDream");
query();
}
}
最新文章
- 深入理解javascript函数系列第四篇——ES6函数扩展
- Leetcode: Battleships in a Board
- 使用WebMatrix发布网站
- TCP/IP详解学习笔记(15)-- TCP的流量控制和拥塞控制
- BI与大数据
- MyBatis(3.2.3) - Configuring MyBatis using XML, Environment
- Java自定义缓冲区MyBufferedReader
- C51 I2C接口驱动,IO口模拟I2C(主+从)
- SoundPool 音频播放 详解 示例
- .net控件dropdownlist动态绑定数据 ----转
- ThinkPHP第二十三天(Category表结构、PHPExcel导入数据函数)
- auto property synthesis will not synthesize proterty ;it will be implementedby its superclass, use @
- 详解node + mongoDb(mongoDb安装、运行,在node中连接、增删改查)
- 性能测试学习 第九课--LR12中controller基础知识
- 调试利器GDB(下)
- Hbase数据读写流程
- Asp.net Mvc之Action如何传多个参数
- git —— 远程仓库(操作)
- D3D游戏编程系列(四):自己动手编写即时战略游戏之网络同步
- (CLR via C#学习笔记)线程基础
热门文章
- git提交代码五部曲
- [转][C#]程序的动态编译
- 利用飞儿云PHP框架自带的DNSPOD库做DDNS动态域名解析
- WPF Chart
- PO &; SO Integration By IDOC in CNABB
- Error when loading the SDK 发现了以元素 'd:skin' 开头的无效内容。此处不应含有子元素
- 一、python基本语法元素(温度转换)
- Linux 上利用Nginx代理uWSGI处理Flask web应用
- linux tail 命令详解
- uva-10670-贪心