package com.dw.lll.dao;
import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class BaseDao<T> {
private String Driver = "com.mysql.jdbc.Driver";
private String url = "jdbc:mysql://127.0.0.1:3306/restrant";
private String user = "root";
private String password = "root";
protected Connection conn;
protected PreparedStatement ps;
protected ResultSet rs;
/**
* 获取连接对象
*
* @throws Exception
*/
public void getConn() throws Exception {
Class.forName(Driver);
conn = DriverManager.getConnection(url, user, password);
}
/**
* 关闭所有资源
*/
public void closeAll() {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (ps != null) {
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 增 删 改 操作
*
* @param sql
* @param s
*/
public void edit(String sql, String... s) {
try {
getConn();
ps = conn.prepareStatement(sql);
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
ps.setObject(i + 1, s[i]);
}
// ceshi
System.out.println(sql);
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
closeAll();
}
}
/**
* 查询单个
*
* @param c
* @param sql
* @param s
* @return
*/
public T selectOne(Class<T> c, String sql, String... s) {
List<T> list = selectAllObject(c, sql, s);
if (list.size() > 0) {
return list.get(0);
} else {
return null;
}
}
/**
* 查询所有
*
* @param c
* @param sql
* @param s
* @return
*/
public List<T> selectAllObject(Class<T> c, String sql, String... s) {
List<T> list = new ArrayList<T>();
try {
getConn();
ps = conn.prepareStatement(sql);
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
ps.setObject(i + 1, s[i]);
}
// ceshi
System.out.println(sql);
rs = ps.executeQuery();
List<Map<String, Object>> datas = new ArrayList<Map<String, Object>>();
ResultSetMetaData rsmd = rs.getMetaData();
while (rs.next()) {
Map<String, Object> data = new HashMap<String, Object>();
//注意列数 避免遗漏
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
data.put(rsmd.getColumnLabel(i), rs.getObject(i));
}
datas.add(data);
}
for (int i = 0; i < datas.size(); i++) {
Map<String, Object> data = datas.get(i);
T t = c.newInstance();
for (String k : data.keySet()) {
Field field = c.getDeclaredField(k);
field.setAccessible(true);
field.set(t, data.get(k));
}
list.add(t);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
closeAll();
}
return list;
}
/**
* 按条件查询是总数
*
* @param sql
* @param params
* @return
*/
public int sumAll(String sql, String... params) {
try {
getConn();
ps = conn.prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
ps.setObject(i + 1, params[i]);
System.out.println(params[i]);
}
rs = ps.executeQuery();
while (rs.next()) {
return rs.getInt(1);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
closeAll();
}
return 0;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
JAVA web JSP SQL JS JDBC 前段 文件上传等综合 网络订餐小项目
共123个文件
jsp:30个
jpg:25个
gif:17个
需积分: 10 22 下载量 135 浏览量
2017-01-08
19:56:03
上传
评论
收藏 1.37MB RAR 举报
温馨提示
JAVA web JSP SQL JS JDBC 前段 文件上传等综合 网络订餐小项目 适合初学者
资源推荐
资源详情
资源评论
收起资源包目录
JAVA web JSP SQL JS JDBC 前段 文件上传等综合 网络订餐小项目 (123个子文件)
BaseDao.class 6KB
UserinfoDao.class 4KB
FoodinfoDao.class 2KB
Userinfo.class 2KB
Foodinfo.class 2KB
Foodorderinfo.class 2KB
Dianping.class 2KB
DayOrder.class 2KB
Dp.class 2KB
DayOrdersDao.class 2KB
FoodorderinfoDao.class 2KB
DianpingDao.class 1KB
DpDao.class 1KB
Test.class 482B
.classpath 841B
org.eclipse.wst.common.component 458B
org.eclipse.wst.jsdt.ui.superType.container 49B
g.css 1KB
foodinfo.css 664B
Login.css 485B
signUp.css 365B
Home.css 238B
userAll.css 220B
Thumbs.db 137KB
tp009.gif 5KB
insider_cn.gif 2KB
link_cn.gif 2KB
dynamic_cn.gif 2KB
lcart_cn.gif 2KB
buy_cn.gif 1KB
detail_cn.gif 1KB
0.gif 575B
2.gif 574B
5.gif 563B
001.gif 129B
jia.gif 88B
jian.gif 83B
002.gif 65B
004.gif 59B
005.gif 57B
003.gif 52B
mysql-connector-java-5.0.8-bin.jar 528KB
smartupload.jar 15KB
BaseDao.java 4KB
UserinfoDao.java 2KB
Foodinfo.java 1KB
Userinfo.java 1KB
FoodinfoDao.java 1KB
Test.java 1KB
Dianping.java 1KB
Foodorderinfo.java 1KB
Dp.java 1KB
DayOrder.java 1024B
FoodorderinfoDao.java 887B
DayOrdersDao.java 813B
DpDao.java 710B
DianpingDao.java 700B
left_top.jpg 337KB
500044.jpg 47KB
500033.jpg 39KB
500045.jpg 28KB
sh.jpg 21KB
500043.jpg 18KB
500008.jpg 18KB
500023.jpg 18KB
500036.jpg 17KB
500025.jpg 17KB
002.jpg 17KB
500026.jpg 15KB
500034.jpg 14KB
500038.jpg 14KB
buycar.jpg 13KB
500024.jpg 12KB
500042.jpg 12KB
500047.jpg 11KB
500035.jpg 11KB
001.jpg 11KB
500041.jpg 10KB
500022.jpg 9KB
500046.jpg 4KB
td.jpg 3KB
dianping.jpg 1KB
time.js 743B
.jsdtscope 503B
Buy.jsp 4KB
orderDay.jsp 3KB
management.jsp 3KB
Foodreviews.jsp 3KB
foodinfo.jsp 3KB
Home.jsp 3KB
userAll.jsp 3KB
Recharge.jsp 3KB
AddFood.jsp 2KB
signUp.jsp 2KB
publicTop.jsp 2KB
personInfo.jsp 2KB
pay.jsp 2KB
comment.jsp 2KB
Login.jsp 2KB
Scar.jsp 1KB
共 123 条
- 1
- 2
资源评论
A2396538303
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功