java操作oracle数据库实用类_java操作oracle常用的示例代码

本文介绍了一个使用Java进行数据库操作的示例项目,包括连接数据库、插入数据、查询数据、更新数据及删除数据等基本操作,并展示了如何通过Java程序与Oracle数据库进行交互。

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class DBTools {

// 定义一个方法,用来得到一个"新的"连接对象

public static Connection getConnection()

{

Connection conn = null;

String driverName = "oracle.jdbc.driver.OracleDriver";

String url = "jdbc:oracle:thin:@localhost:1521:ora9i";

String userName = "scott";

String passWord = "tiger";

try {

Class.forName(driverName);

conn = DriverManager.getConnection(url,userName,passWord );

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return conn;

}

public static void closeConn(Connection conn)

{

try {

if(conn != null)

{

conn.close();

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void closeState(Statement state)

{

try {

if(state != null)

{

state.close();

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void closeRs(ResultSet rs)

{

try {

if(rs != null)

{

rs.close();

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.ArrayList;

import com.tianyitime.notebook.support.userPO.UserPO;

import com.tianyitime.notebook.support.util.DBTools;

public class UserDAO {

// 新增user

public void saveUserInfo(UserPO upo)

{

Connection conn = null;

Statement state = null;

try {

conn = DBTools.getConnection();

state = conn.createStatement();

String sql = "insert into notebook_user values ("+getMaxId()+",'"+upo.getYhm()+"','"+upo.getEmail()+"','"+upo.getContent()+"')";

//System.out.println(sql);

state.executeUpdate(sql);

} catch (Exception ex) {

// TODO Auto-generated catch block

ex.printStackTrace();

}

finally

{

DBTools.closeState(state);

DBTools.closeConn(conn);

}

}

//得到一个数据库中当前Id的最大值

private int getMaxId()

{

Connection conn = null;

Statement state = null;

ResultSet rs = null;

int maxId = 0;

try {

conn = DBTools.getConnection();

state = conn.createStatement();

String sql = "select max(id) maxId from notebook_user";

rs = state.executeQuery(sql);

//从resultset对象中将数据取出

if(rs.next())

{

maxId = rs.getInt("maxId");

}

} catch (Exception ex) {

// TODO Auto-generated catch block

ex.printStackTrace();

}

return ++maxId;

}

// 得到所有的记录

public ArrayList getUserInfo()

{

Connection conn = null;

Statement state = null;

ResultSet rs = null;

UserPO upo = null;

ArrayList al = new ArrayList();

try {

conn = DBTools.getConnection();

state = conn.createStatement();

String sql = "select * from notebook_user";

rs = state.executeQuery(sql);

//从resultset对象中将数据取出

while(rs.next())

{

upo = new UserPO();

int id = rs.getInt("id");

String yhm = rs.getString("yhm");

String email = rs.getString("email");

String content = rs.getString("content");

upo.setId(id);

upo.setYhm(yhm);

upo.setEmail(email);

upo.setContent(content);

//将改对象放入已经创建好的集合类对象ArrauyList

al.add(upo);

}

} catch (Exception ex) {

// TODO Auto-generated catch block

ex.printStackTrace();

}

finally

{

DBTools.closeRs(rs);

DBTools.closeState(state);

DBTools.closeConn(conn);

}

return al;

}

// 删除一条user记录

public void deleteUserInfo(int id)

{

Connection conn = null;

Statement state = null;

try {

conn = DBTools.getConnection();

state = conn.createStatement();

String sql = "delete from notebook_user where id="+id;

//System.out.println(sql);

state.executeUpdate(sql);

} catch (Exception ex) {

// TODO Auto-generated catch block

ex.printStackTrace();

}

finally

{

DBTools.closeState(state);

DBTools.closeConn(conn);

}

}

// 根据给定的信息得到记录

public ArrayList getUserInfoByInfo(String name,String email,String content)

{

Connection conn = null;

Statement state = null;

ResultSet rs = null;

UserPO upo = null;

ArrayList al = new ArrayList();

try {

conn = DBTools.getConnection();

state = conn.createStatement();

String sql = "select * from notebook_user where 1=1 ";

if(!"".equals(name) && name != null)

{

sql += " and yhm like '%"+name+"%'";

}

if(!"".equals(email) && email != null)

{

sql += " and email = '"+email+"'";

}

if(!"".equals(content) && content != null)

{

sql += " and content like '%"+content+"%'";

}

sql+=" order by id desc";

rs = state.executeQuery(sql);

//从resultset对象中将数据取出

while(rs.next())

{

upo = new UserPO();

int id = rs.getInt("id");

String yhm = rs.getString("yhm");

String femail = rs.getString("email");

String fcontent = rs.getString("content");

upo.setId(id);

upo.setYhm(yhm);

upo.setEmail(femail);

upo.setContent(fcontent);

//将改对象放入已经创建好的集合类对象ArrauyList

al.add(upo);

}

} catch (Exception ex) {

// TODO Auto-generated catch block

ex.printStackTrace();

}

finally

{

DBTools.closeRs(rs);

DBTools.closeState(state);

DBTools.closeConn(conn);

}

return al;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值