jdbc链接Oracle数据库的封装

在src下创建properties文件

package util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

public class JDBCUitl {
	private static String driver;
	private static String url;
	private static String username;
	private static String password;

	static {
		// 创建properties对象获取文件
		Properties ps = new Properties();
		// 获取流对象
		InputStream is = JDBCUitl.class.getResourceAsStream("/driver.properties");
		try {
			// 加载文件
			ps.load(is);
			driver = ps.getProperty("driver");
			url = ps.getProperty("url");
			username = ps.getProperty("username");
			password = ps.getProperty("password");
			// 加载驱动
			Class.forName(driver);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 获取链接对象
	 *
	 * @return conn
	 */
	public static Connection getConnection() {
		Connection conn = null;
		try {
			conn=DriverManager.getConnection(url, username, password);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}

	/**
	 * 创建链接对象
	 *
	 * @param conn
	 * @param sql
	 * @return ps
	 */
	public static PreparedStatement getPreparedStatement(Connection conn, String sql) {
		PreparedStatement ps = null;
		try {
			ps = conn.prepareStatement(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return ps;

	}

	/**
	 * 增刪改通用语句
	 *
	 * @param sql
	 * @param objs
	 * @return i
	 */
	public static int executeDML(String sql, Object... objs) {
		Connection conn = getConnection();
		PreparedStatement ps = getPreparedStatement(conn, sql);
		try {
			conn.setAutoCommit(false);
			for (int i = 0; i < objs.length; i++) {
				ps.setObject(i + 1, objs[i]);
			}
			int i = ps.executeUpdate();
			conn.commit();
			return i;
		} catch (SQLException e) {
			try {
				conn.rollback();
			} catch (SQLException e1) {
				e1.printStackTrace();
			}
			e.printStackTrace();
		}
		return -1;
	}

	public void allClose(ResultSet rs, PreparedStatement ps, Connection conn) {
		try {
			if (rs != null) {
				rs.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		try {
			if (ps != null) {
				ps.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

		try {
			if (conn != null) {
				conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

	}
}

  

package daoImp;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import dao.EmpDao;
import pojo.Emp;
import util.JDBCUitl;

public class EmpDaoImp implements EmpDao {
	/**
	 * 实现查询所有用户信息
	 */
	@Override
	public ArrayList<Emp> selAllEmpInfo() {
		String sql = "select * from empe";
		Connection conn = JDBCUitl.getConnection();
		PreparedStatement ps = JDBCUitl.getPreparedStatement(conn, sql);
		ArrayList<Emp> empList = new ArrayList<Emp>();
		try {
			ResultSet rs = ps.executeQuery();
			while (rs.next()) {
				Emp e = new Emp();
				e.setEmpId(rs.getInt("empid"));
				e.setName(rs.getString("ename"));
				e.setEmoney(rs.getInt("emoney"));
				e.setEqq(rs.getString("eqq"));
				empList.add(e);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return empList;
	}

	/**
	 * 根据id查询用户信息
	 */
	@Override
	public Emp selEmpByEmpId(int empId) {
		String sql = "select * from empe where empid=?";
		Connection conn = JDBCUitl.getConnection();
		PreparedStatement ps = JDBCUitl.getPreparedStatement(conn, sql);
		Emp emp = null;
		try {
			ps.setInt(1, empId);
			ResultSet rs = ps.executeQuery();
			if (rs.next()) {
				emp = new Emp();
				emp.setEmpId(rs.getInt("empid"));
				emp.setName(rs.getString("ename"));
				emp.setEmoney(rs.getInt("emoney"));
				emp.setEqq(rs.getString("eqq"));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return emp;
	}

	/**
	 * 添加用户信息
	 */
	@Override
	public int insEmpInfo(int empId, String ename, int emoney, String eqq) {
		String sql = "insert into empe values(?,?,?,?)";
		int i = JDBCUitl.executeDML(sql, empId, ename, emoney, eqq);
		return i;
	}

	/**
	 * 根据用户id更改姓名
	 */
	@Override
	public int upEmpByEmpId(String newName, int empId) {
		String sql = "update empe set ename=? where empid=?";
		int i = JDBCUitl.executeDML(sql, newName, empId);
		return i;
	}

	/**
	 * 根据id删除用户信息
	 */
	@Override
	public int delEmpByEmpId(int empId) {
		String sql = "delete from empe where empid=?";
		int i = JDBCUitl.executeDML(sql, empId);
		return i;
	}

}

  

原文地址:https://www.cnblogs.com/kilig/p/12110214.html

时间: 2024-10-01 06:37:19

jdbc链接Oracle数据库的封装的相关文章

Java JDBC链接Oracle数据库

package com.test.test; import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql

JDBC链接oracle数据库

package test; import java.sql.* ; public class JDBC_Test { //orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库 //1521为连接的端口号 private static String url="jdbc:oracle:thin:@192.168.42.57:1521:ORCL"; //system为登陆oracle数据库的用户名 private static String user=

Jython中链接Oracle数据库

实际操作环境为:Eclipse+Pydev中使用Jython链接Oracle数据库.方法有二,如下所示.(注意:将要使用的.jar文件路径加入系统变量classpath中) 一: Note:使用ojdbc.jar库 from oracle.jdbc.driver import OracleDriver from java.sql import DriverManager def connect(host , port , sid , user , password): driver = Orac

JDBC连接Oracle数据库

我记得大二的时候,我们上java课程,当时老师就说了JDBC这个东西,也没怎么好好学,直到现在,我也不直到JDBC是什么玩意,就知道这玩意可以从数据库提取数据,那么JDBC到底是什么呢? JDBC是Java DataBase Connectivity的缩写,含义意思是java数据库连接,不需要多解释了,我感觉! 那么我们如何去做这样子的一个连接呢?用过一次之后就会发现,其实很简单,记住几个步骤,还有就是导入必要的驱动包就可以了,下面是几个重要的步骤: 第一步,你的项目环境中必须要导入必要的数据库

java程序通过jdbc连接oracle数据库方法

1.  赋予scott用户连接权限:Grant connect to scott: 2.   在Myeclipse中新建java项目导入jdbc包(classes12.jar):        右键项目 bulid path -〉add external archives 选择classes12.jar 3.   新建java文件, lianxi01.java import java.sql.Connection; import java.sql.ResultSet; import java.s

JAVA通过JDBC连接Oracle数据库详解【转载】

JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.html Java连接Oracle步骤: 1.注册加载驱动 驱动名:DRIVER="oracle.jdbc.driver.OracleDriver"; Class.forName("驱动类名"); 2.获得连接 数据库地址: URL="jdbc:oracle:thi

JDBC访问Oracle数据库例子源代码,包括创建table,删除table,插入记录,删除记录,查询记录等

package com.cb; public class SMSInfo { public static String ITEMINDEX = "sms_index"; public static String ITEMTO = "sms_to"; public static String ITEMFROM = "sms_from"; public static String ITEMMSG = "sms_msg"; publ

关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用

用vs2008链接oracle数据库出现问题,报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用,从网上找了好久方法,有两种oracle客户端文件权限,和运行vs2008以管理员身份,这些都试过了没有用,查了好久还是没有解决问题,只好换一种方式链接oracle数据了. 我使用的是ODAC方式链接oracle数据库,这样就不需要安装oracle客户端了,我的操作步骤如下: 1.从[url=http://download.oracle.com/otn/other/ole-oo

jdbc连接oracle数据库字符串

jdbc连接oracle数据库有两种方式: 连接数据库SID 连接数据库service_name 当连接SID时,字符串如下: url="jdbc:oracle:thin:@192.168.56.100:1521:orcl1" password="xxxx" username"scott" 当连接SERVICE_NAME时,字符串如下: url="jdbc:oracle:thin:@//192.168.56.100:1521/orcl&