jdbc链接Oracle数据库的封装
在src下创建properties文件
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@//127.0.0.1:1521/XE
username=scott
password=123456
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;
} }
jdbc链接Oracle数据库的封装的更多相关文章
- Java JDBC链接Oracle数据库
package com.test.test; import java.io.FileInputStream;import java.io.FileNotFoundException;import ja ...
- JDBC链接oracle数据库
package test; import java.sql.* ; public class JDBC_Test { //orcl为oracle数据库中的数据库名,localhost表示连接本机的or ...
- JDBC连接Oracle数据库的问题
场景:最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题. 问题1:jdbc连接不上Ubuntu Oracle服务器? 后来发现这个问题的原因是由于连接字符串写错了,修 ...
- Oracle 远程链接oracle数据库服务器的配置
远程链接oracle数据库服务器的配置 by:授客 QQ:1033553122 原理: 一.Oracle客户端与服务器端的通讯机制 1.OracleNet协议 如下图所示,Oracle通过Oracle ...
- 链接oracle数据库 生成表对应的javabean
package com.databi.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOExc ...
- 历尽磨难之PL/SQL链接Oracle数据库
说起来都是泪啊,上司布置的任务需要远程连接Oracle数据库,说实话这又是我人生中的第一次.我听到以后觉得不是什么大问题,然而我错了..错的很厉害! 我搞了一天一夜才弄好,这里面原因有很多,大体来讲还 ...
- jdbc连接oracle数据库
/*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...
- 用JDBC访问ORACLE数据库 关于commit 增快效率 大数据 等的整理
1.问:用JDBC访问ORACLE数据库,做DELETE操作,能用JAVA多线程实现吗? ORACLE服务器要怎么配?(以下答案来自网络,仅供参考) 答: Oracle有自己的锁机制.就算你开100条 ...
- 关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
用vs2008链接oracle数据库出现问题,报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用,从网上找了好久方法,有两种oracle客户端文件权限,和运行vs2008以管理 ...
随机推荐
- postman post 数据格式
postman post 数据的时候,选择raw的tab ,选择json. 然后在下面的提交json数据, {"photoPath":"bbbbbbbbbbbbbb&qu ...
- C-链表实现,保存文件,评估-单项选择题系统课程设计---ShinePans
课程设计 单项选择题标准化考试系 所属专业:软件project软件三班 完毕人:潘尚 一.设计计划. 1.能够用菜单明白的指导用户操作. 2.操作完毕能够返回主菜单. 3.将输入的题目保存至C盘的 ...
- QT 开发ros gui过程中遇到:error: catkin_package() include dir 'include' does not exist relative to '/home/jun/catkin_ws/src/qt_ros_test' /opt/ros/kinetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_p
这是因为在ros工作空间的包中没有include文件夹造成的,所以在该路径下创建include的文件夹,问题就解决了.
- Navicat连接MySQL8.0版本时 建议升级连接客户端这个提示怎么办
开始->mysql 8.0 command line client ->执行下面的命令//开启mysql服务mysql.server start//进入mysqlmysql -u root ...
- auto uninstaller密钥激活码破解注册机ver 8.8.58
auto uninstaller密钥破解注册机ver 8.8.58 楼主分享几个auto uninstaller密钥破解注册机,可以用于auto uninstaller 8.8.58 .因为每个版本的 ...
- Django ORM------Mysql
ORM操作 select * from tb where id > 1 #对应关系 models.tb.objects.filter(id__gt=1) models.tb.objects.fi ...
- HZOJ 方程的解
乍一看还以为是道水题,没想到这玩意这么难搞. 看题显然是exgcd,然而exgcd求的是一个解而不是解的个数(考试的时候不记得通解的式子然后挂了). 对于40%的数据,直接枚举计数即可. 对于另为20 ...
- Python 2.X 版本 600行入门基础
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- mysql数据库之存储引擎
mysql存储引擎概述 什么是存储引擎? MYSQL中的数据用各不相同的技术 ...
- 神经网络为什么需要多次epoch
Δw(t)=−ε ∂w(t)∂E +αΔw(t−1)(9) 我们知道反向传播每次迭代的效果是这样的:w=w+Δw(t) w=w+\Delta w(t)w=w+Δw(t) 我们知道,每条训练数据都会导 ...