Java BaseDao
BaseDao类:
package dao;
import java.sql.*;
public class BaseDao {
private static final String driver = "oracle.jdbc.driver.OracleDriver";
private static final String url = "jdbc:oracle:thin:@localhost:1521:ACCP";
private static final String uid = "scott";
private static final String pwd = "scott";
private static Connection con;
private static PreparedStatement pstmt;
/**
* 建立连接对象
* @return
*/
public static Connection getConnection() {
try {
Class.forName(driver);
con = DriverManager.getConnection(url, uid, pwd);
return con;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/**
* 关闭对象
* @param rs 数据集对象
*/
public static void Close(ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (con != null) {
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 执行查询操作
* @param sql 查询的sql语句
* @param paras 查询的参数 Object[]数组
* @return 结果集
*/
public static ResultSet ExecuteQuery(String sql, Object[] paras) {
getConnection();
try {
pstmt = con.prepareStatement(sql);
if (paras != null && paras.length > 0) {
for (int i = 0; i < paras.length; i++) {
pstmt.setObject(i + 1, paras[i]);
}
}
ResultSet rs = pstmt.executeQuery();
return rs;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
/**
* 执行增加、修改、删除操作
* @param sql 操作的sql语句
* @param paras 操作的参数
* @return 受影响的行数
*/
public static int ExecuteUpdate(String sql, Object[] paras) {
getConnection();
try {
pstmt = con.prepareStatement(sql);
if (paras != null && paras.length > 0) {
for (int i = 0; i < paras.length; i++) {
pstmt.setObject(i + 1, paras[i]);
}
}
int rs = pstmt.executeUpdate();
return rs;
} catch (SQLException e) {
e.printStackTrace();
return -1;
}
}
}
调用:
package dao; import java.sql.*;
import java.util.ArrayList;
import java.util.List; import entities.Emp; public class empDao { public List<Emp> GetEmpList() {
ResultSet rs = BaseDao.ExecuteQuery("select * from emp", null); try {
List<Emp> list = new ArrayList<Emp>();
while (rs.next()) {
Emp e = new Emp();
e.setEmpno(rs.getInt("empno"));
e.setEname(rs.getString("ename"));
e.setJob(rs.getString("job"));
e.setMgr(rs.getInt("mgr"));
e.setHiredate(rs.getDate("hiredate"));
e.setSal(rs.getDouble("sal"));
e.setComm(rs.getDouble("comm"));
e.setDeptno(rs.getInt("deptno"));
list.add(e);
}
return list;
} catch (SQLException e) {
e.printStackTrace();
return null;
} finally {
BaseDao.Close(rs);
}
}
}
Java BaseDao的更多相关文章
- Spring + SpringMVC + MyBatis
1.需求说明实现用户通过数据库验证登录需求,采用Myeclipse+Tomcat 6.0+Mysql 5.0+JDK 1.6 2.数据库表开发所用是Mysql数据库,只建立单张用户表T_USER,表结 ...
- spring+springmvc+ibatis整合注解方式实例【转】
源自-----> http://shaohan126448.iteye.com/blog/2033563 (1)web.xml文件(Tomcat使用) 服务器根据配置内容初始化spring框架, ...
- spring+springmvc+ibatis整合注解方式实例
需求说明 实现用户通过数据库验证登录需求.採用 Myeclipse+Tomcat 6.0+Mysql 5.0+JDK 1.6 2.数据库表 开发所用是Mysql数据库,仅仅建立单张用户表T_USER, ...
- SSH框架整合2
===========================================web.xml================================================== ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- java项目常用 BaseDao BaseService
java项目常用 BaseDao BaseService IBaseDao 1 package com.glht.sim.dao; 2 3 import java.util.List; 4 5 6 ...
- java 利用注解实现BaseDao 增删查改
第一步,编写两个注解类,用于表明实体类对应的表名及字段. TableInfo.java 此注解用于标注表名及主键名 import static java.lang.annotation.Element ...
- java的SSH的baseDao,巧用泛型
BaseDao接口: import java.util.List; public interface BaseDao<T,PK> { public void add(T t); publi ...
- 封装basedao及动态创建新类型的java数组
package com.huawei.base; import java.io.Serializable;import java.lang.reflect.Array;import java.lang ...
随机推荐
- xshell设置使用
一.首先您的xshell先连接上需要远程连接的服务器. 二.打开连接,出现下记页面,就证明与服务器连接正常了. 三.接下来,我们就可以使用命令做一系列操作了. 3-1:cd 是进入下一级目录命令 例如 ...
- 杭电oj2081、2091、1004、2057
2081 手机短号 #include<stdio.h> #include<string.h> int main(){ int i,n; ]; while(scanf(&quo ...
- aiohttp/asyncio 多次请求
#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = "Daniel Altiparmak (sixfinger78@gmai ...
- 【linux高级程序设计】(第十章)Linux异步信号处理机制 3
信号屏蔽 信号忽略:系统仍然传递该信号,只是相应的进程不做任何处理 信号屏蔽:进程不捕获信号,信号处于未决状态,当不再屏蔽信号时可以捕获之前被屏蔽的信号. 信号集数据结构定义: typedef __s ...
- 【linux高级程序设计】(第九章)进程间通信-管道 2
文件描述符重定向 cat<test01 :将输入重定向到test01文件 cat>test02<test01 :将标准正确输出重定向到test02文件,输入设备重定向到test0 ...
- 在 iSCSI Target 服务器中使用LVM创建和设置LUN(二)
LUN是逻辑单元号,它与iSCSI存储服务器共享.iSCSI 目标器通过TCP/IP网络共享它的物理驱动器给发起程序(initiator).这些来自一个大型存储(SAN:Storage Area Ne ...
- Python的工具包[2] -> matplotlib图像绘制 -> matplotlib 库及使用总结
matplotlib图像绘制 / matplotlib image description 目录 关于matplotlib matplotlib库 补充内容 Figure和AxesSubplot的生 ...
- hdu6040
hdu6040 题意 将一个函数运行 n 次,一共得到 n 个值,有 m 次询问,每次询问第 k 小的值. 分析 考察了 \(nth\_element\) 函数的运用.\(nth\_element(a ...
- 多模态检索之CCA算法
多模态检索主要是实现不同模态下的数据能相互检索,例如文本模态数据,和图像模态数据.要能实现他们之间的相互检索,首先要是它们相互关联起来.CCA·算法用于多模态检索步骤: 1)首先提取文本,图 ...
- sqldeveloper 英文设置
在软件ide\bin目录下找到sqldeveloper.conf或ide.conf,加入 C:\Program Files (x86)\sqldeveloper\ide\bin AddVMOption ...