package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import entity.Record;
import util.DBUtil;
import util.DateUtil;
public class RecordDAO {
public int getTotal() {
int total = 0;
try (Connection c = DBUtil.getConnection(); Statement s = c.createStatement();) {
String sql = "select count(*) from record";
ResultSet rs = s.executeQuery(sql);
while (rs.next()) {
total = rs.getInt(1);
}
System.out.println("total:" + total);
} catch (SQLException e) {
e.printStackTrace();
}
return total;
}
public void inquiry(Record record){
try (Connection c = DBUtil.getConnection(); Statement s = c.createStatement();) {
String sql = "select * from record";
ResultSet rs = s.executeQuery(sql);
while(rs.next()){
int id = rs.getInt(1);
int spend = rs.getInt(2);
int cid = rs.getInt(3);
String comment = rs.getString(4);
Date date = rs.getDate(5);
}
}catch(SQLException e){
e.printStackTrace();
}
}
public void add(Record record) {
String sql = "insert into record values(null,?,?,?,?)";
try (Connection c = DBUtil.getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {
ps.setInt(1, record.spend);
ps.setInt(2, record.cid);
ps.setString(3, record.comment);
ps.setDate(4, DateUtil.util2sql(record.date));
ps.execute();
ResultSet rs = ps.getGeneratedKeys();
if (rs.next()) {
int id = rs.getInt(1);
record.id = id;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public void update(Record record) {
String sql = "update record set spend= ?, cid= ?, comment =?, date = ? where id = ?";
try (Connection c = DBUtil.getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {
ps.setInt(1, record.spend);
ps.setInt(2, record.cid);
ps.setString(3, record.comment);
ps.setDate(4, DateUtil.util2sql(record.date));
ps.setInt(5, record.id);
ps.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void delete(int id) {
try (Connection c = DBUtil.getConnection(); Statement s = c.createStatement();) {
String sql = "delete from record where id = " + id;
s.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
public Record get(int id) {
Record record = null;
try (Connection c = DBUtil.getConnection(); Statement s = c.createStatement();) {
String sql = "select * from record where id = " + id;
ResultSet rs = s.executeQuery(sql);
if (rs.next()) {
record = new Record();
int spend = rs.getInt("spend");
int cid = rs.getInt("cid");
String comment = rs.getString("comment");
Date date = rs.getDate("date");
record.spend=spend;
record.cid=cid;
record.comment=comment;
record.date=date;
record.id = id;
}
} catch (SQLException e) {
e.printStackTrace();
}
return record;
}
public List<Record> list() {
return list(0, Short.MAX_VALUE);
}
public List<Record> list(int start, int count) {
List<Record> records = new ArrayList<Record>();
String sql = "select * from record order by id desc limit ?,? ";
try (Connection c = DBUtil.getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {
ps.setInt(1, start);
ps.setInt(2, count);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Record record = new Record();
int id = rs.getInt("id");
int spend = rs.getInt("spend");
int cid = rs.getInt("cid");
String comment = rs.getString("comment");
Date date = rs.getDate("date");
record.spend=spend;
record.cid=cid;
record.comment=comment;
record.date=date;
record.id = id;
records.add(record);
}
} catch (SQLException e) {
e.printStackTrace();
}
return records;
}
public List<Record> list(int cid) {
List<Record> records = new ArrayList<Record>();
String sql = "select * from record where cid = ?";
try (Connection c = DBUtil.getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {
ps.setInt(1, cid);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Record record = new Record();
int id = rs.getInt("id");
int spend = rs.getInt("spend");
String comment = rs.getString("comment");
Date date = rs.getDate("date");
record.spend=spend;
record.cid=cid;
record.comment=comment;
record.date=date;
record.id = id;
records.add(record);
}
} catch (SQLException e) {
e.printStackTrace();
}
return records;
}
public List<Record> listToday(){
return list(DateUtil.today());
}
public List<Record> list(Date day) {
List<Record> records = new ArrayList<Record>();
String sql = "select * from record where date =?";
try (Connection c = DBUtil.getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {
ps.setDate(1, DateUtil.util2sql(day));
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Record record = new Record();
int id = rs.getInt("id");
int cid = rs.getInt("cid");
int spend = rs.getInt("spend");
String comment = rs.getString("comment");
Date date = rs.getDate("date");
record.spend=spend;
record.cid=cid;
record.comment=comment;
record.date=date;
record.id = id;
records.add(record);
}
} catch (SQLException e) {
e.printStackTrace();
}
return records;
}
public List<Record> listThisMonth(){
return list(DateUtil.monthBegin(),DateUtil.monthEnd());
}
public List<Record> list(Date start, Date end) {
List<Record> records = new ArrayList<Record>();
String sql = "select * from record where date >=? and date <= ?";
try (Connection c = DBUtil.getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {
ps.setDate(1, DateUtil.util2sql(start));
ps.setDate(2, DateUtil.util2sql(end));
ResultSet rs = ps.executeQuery();
while (rs.next()) {
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本项目是基于Swing和JDBC开发的图形界面桌面应用,涵盖了J2SE的绝大部分基础知识,通过这个项目能运用和锻炼几乎大部分的J2SE知识和技能。 基础内容: 面向对象 字符串数字 日期 中级内容: 异常 ,集合,JDBC, 反射机制,I/O,Swing, 利用TableModel更新数据, 图形界面的皮肤 高级内容: 图表chart动态生成,数据库的备份与恢复,自定义圆形进度条 软件设计思想: 单例模式,面板类与监听器类松耦合,Entity层设计,DAO层设计,Service层设计 业务常见处理手法: CRUD操作,配置信息,配置信息初始化,报表生成,一对多关系,多对一关系
资源推荐
资源详情
资源评论
收起资源包目录
一本糊涂账-基于Swing和JDBC开发的图形界面桌面应用 (129个子文件)
hutubill.bat 118B
RecordDAO.class 9KB
ConfigDAO.class 6KB
CategoryDAO.class 5KB
ChartUtil.class 4KB
SpendPanel.class 4KB
GUIUtil.class 4KB
RecordPanel.class 3KB
CircleProgressBar.class 3KB
CategoryPanel.class 3KB
MysqlUtil.class 3KB
BackupListener.class 3KB
RecoverListener.class 3KB
RecordUtil.class 2KB
CategoryService.class 2KB
ConfigPanel.class 2KB
MainPanel.class 2KB
CenterPanel.class 2KB
RecordUtil$addDialog$1.class 2KB
CategoryListener.class 2KB
RecordListener.class 2KB
RecordUtil$addDialog.class 2KB
HutuMainFrame.class 2KB
ReportService.class 2KB
DateUtil.class 2KB
RecordUtil$2.class 2KB
SpendService.class 2KB
CategoryComboBoxModel.class 2KB
ToolBarListener.class 2KB
RecordTableModel.class 2KB
ReportPanel.class 2KB
ConfigService.class 2KB
ConfigListener.class 2KB
CategoryTableModel.class 1KB
DBUtil.class 1KB
RecordUtil$1.class 1KB
RecoverPanel.class 1KB
BackupPanel.class 1KB
Record.class 1KB
Test.class 1KB
SpendPage.class 1KB
Test$1$1.class 1KB
RecordService.class 1KB
Category.class 984B
ColorUtil.class 984B
RecoverListener$1.class 940B
MainFrame.class 936B
BackupListener$1.class 934B
Config.class 882B
Bootstrap$1.class 846B
Test$1.class 770B
Bootstrap.class 637B
HutuMainFrame$6.class 578B
HutuMainFrame$3.class 578B
HutuMainFrame$1.class 578B
HutuMainFrame$2.class 578B
HutuMainFrame$5.class 578B
HutuMainFrame$4.class 578B
WorkingPanel.class 326B
.classpath 564B
swingx-core-1.6.2.jar 1.38MB
swingx-core-1.6.2.jar 1.38MB
mysql-connector-java-5.0.8-bin.jar 528KB
mysql-connector-java-5.0.8-bin.jar 528KB
liquidlnf.jar 365KB
liquidlnf.jar 365KB
chart.jar 164KB
chart.jar 164KB
RecordDAO.java 8KB
ChartUtil.java 6KB
RecordUtil.java 5KB
ConfigDAO.java 5KB
SpendPanel.java 4KB
CategoryDAO.java 4KB
CircleProgressBar.java 3KB
GUIUtil.java 3KB
RecordPanel.java 3KB
DateUtil.java 3KB
CategoryPanel.java 2KB
BackupListener.java 2KB
HutuMainFrame.java 2KB
MainPanel.java 2KB
CategoryListener.java 2KB
MysqlUtil.java 2KB
RecoverListener.java 2KB
ConfigPanel.java 2KB
CenterPanel.java 2KB
Test.java 2KB
SpendService.java 2KB
RecordTableModel.java 1KB
ReportService.java 1KB
CategoryComboBoxModel.java 1KB
RecordListener.java 1KB
SpendPage.java 1KB
ToolBarListener.java 1KB
CategoryTableModel.java 1KB
ReportPanel.java 1KB
ConfigService.java 1KB
ConfigListener.java 1KB
CategoryService.java 1KB
共 129 条
- 1
- 2
资源评论
sunny__1991
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功