package y2jsp.students.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;
import javax.sql.DataSource;
public class BaseDao {
protected Connection conn;
protected PreparedStatement ps;
protected ResultSet rs;
/**
* 加载驱动建立数据库的连接
* @return 这个连接Connection
*/
/* public static synchronized Connection getConnection(){
String driverClassName=ReadProperties.getIntance().getProperty("driver");
String url=ReadProperties.getIntance().getProperty("url");
String user=ReadProperties.getIntance().getProperty("user");
String pass=ReadProperties.getIntance().getProperty("pass");
Connection conn=null;
try{
Class.forName(driverClassName);
conn=DriverManager.getConnection(url,user,pass);
return conn;
}catch(Exception ex){
ex.printStackTrace();
}
return null;
}*/
public Connection getConn(String jndiName){
try{
Context context=new InitialContext();
DataSource ds=(DataSource)context.lookup("java:comp/env/"+jndiName);
return ds.getConnection();
}catch(Exception ex){
ex.printStackTrace();
return null;
}
}
/**
* 关闭连接释放资源
* @param conn
* @param ps
* @param rs
*/
public void closeAll(Connection conn,PreparedStatement ps,ResultSet rs){
try{
if(rs!=null){
rs.close();
rs=null;
}
if(ps!=null){
ps.close();
ps=null;
}
if(conn!=null){
conn.close();
conn=null;
}
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 数据的增删改操作
* @param sql
* @param values
* @return
*/
public int doExecuteSQL(String sql,List values){
try{
conn=this.getConn("jdbc/common");
ps=conn.prepareStatement(sql);
this.setValues(ps, values);
int s=ps.executeUpdate();
return s;
}catch (Exception ex){
ex.printStackTrace();
return 0;
}finally{
this.closeAll(conn, ps, null);
}
}
public Result getAllDataInfo(String sql,List values){
try{
conn=this.getConn("jdbc/common");
ps=conn.prepareStatement(sql);
this.setValues(ps, values);
rs=ps.executeQuery();
return ResultSupport.toResult(rs);
}catch(Exception ex){
ex.printStackTrace();
return null;
}finally{
this.closeAll(conn, ps, rs);
}
}
/**
* 遍历传递过来的参数值
* @param ps
* @param values
*/
public void setValues(PreparedStatement ps,List values){
if(values!=null){
for(int i=0;i<values.size();i++){
try{
ps.setObject(i+1,i);
}catch (Exception ex){
ex.printStackTrace();
}
}
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
通用的baseDao,连接数据库的方法之一
共20个文件
java:5个
class:5个
properties:2个
需积分: 15 11 下载量 62 浏览量
2010-03-15
12:58:37
上传
评论
收藏 563KB RAR 举报
温馨提示
这是一个非常通用的数据库连接的方法,MyEclipse和sql得连接,当我们在做程序的时候有一些代码总是重复的如果你把这些重复的文件打成一个jar包就好像用sun公司提供的那些Java包一样,这样会节省你很多的时间和精力,让你有更多的时间去完成别的工作!
资源推荐
资源详情
资源评论
收起资源包目录
students.rar (20个子文件)
students
.project 1010B
.mymetadata 297B
WebRoot
WEB-INF
web.xml 381B
lib
mssqlserver2005.jar 570KB
classes
y2jsp
students
dao
ReadProperties.class 1KB
StudentDaoImpl.class 2KB
BaseDao.class 3KB
StudentDao.class 209B
dto
StudentDTO.class 1KB
sutdents.properties 127B
index.jsp 834B
META-INF
context.xml 2KB
MANIFEST.MF 39B
.myeclipse
src
y2jsp
students
dao
BaseDao.java 3KB
StudentDao.java 161B
ReadProperties.java 1KB
StudentDaoImpl.java 965B
dto
StudentDTO.java 768B
sutdents.properties 127B
.classpath 440B
共 20 条
- 1
资源评论
workinbj
- 粉丝: 12
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功