前言
该系统是在Java SE -1.7+ Tomcat 8.0+MySQL 5.5 的环境下 搭建的。该系统实现了银行客户管理的基本功能。其中使用了Hibernate 4.1.4 版本的持久化层框架。
网页整体截图:
功能
各功能如上述截图所示;以下只展示需要特别说明的部分:
该功能会在你点击的时候实时的生成备份文件,保存到目录下,并提供下载,可以看到,我这系统以前的备份和当前的备份都在。关于数据库恢复还有点问题,备份的文件没有问题,可如果通过Java以Runtime.getRuntime().exec(command);
去执行会有问题,还待解决。
其余的功能都已实现了。列如以下的基本信息查询:
分页代码也通过Hibernate实现:
//数据获取时,设置开始获取的位置和获取记录最大的数量
session.createQuery(hql).setFirstResult(page.getIndex()).setMaxResults(page.getPageSize()).list()
//实例化Page对象用来向JSP页面传递 request.setAttribute("page", page);在jsp页面获取即可
//Page对象如下:
package cn.joker.bean;
import java.util.List;
public class Page {
private int pageNum; //访问页
private int total; //总页数
private int pageSize = 6; //每页大小
private int index; //数据库所获取第一个记录的位置
private int startPage; //页面显示起始页
private int endPage;
private int betweenPages = 6; //总共显示页数 暂时只处理了为偶数的情况
private List<?> list=null; //存放数据的list集合
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public int getBetweenPages() {
return betweenPages;
}
public void setBetweenPages(int betweenPages) {
this.betweenPages = betweenPages;
}
public int getPageNum() {
return pageNum;
}
public int getTotal() {
return total;
}
public int getPageSize() {
return pageSize;
}
public int getStartPage() {
return startPage;
}
public int getEndPage() {
return endPage;
}
public List<?> getList() {
return list;
}
public void setPageNum(int pageNum) {
if(pageNum<=0)
this.pageNum = 1;
if(pageNum >= total)
this.pageNum = total;
this.index = (pageNum-1) * pageSize;
this.pageNum = pageNum;
}
//处理开始页 和结束页的逻辑
public void setTotal(int total) {
//计算分成多少页
int x = total%pageSize; //做判断用
int y ; //分页
if(x>0)
y=total/pageSize +1;
else
y = total/pageSize;
if(y<=betweenPages){
this.startPage = 1;
this.endPage = y;
}else if(pageNum - (betweenPages/2-1)>=1 && (pageNum + betweenPages/2)<=y){
this.startPage = pageNum - (betweenPages/2-1);
this.endPage = pageNum + betweenPages/2;
}else if(pageNum - (betweenPages/2-1)<1 ){
this.startPage = 1;
this.endPage = pageNum + betweenPages/2;
}else if((pageNum + betweenPages/2)>y){
this.startPage = pageNum - (betweenPages/2-1);
this.endPage = y;
}
this.total = total;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public void setStartPage(int startPage) {
this.startPage = startPage;
}
public void setEndPage(int endPage) {
this.endPage = endPage;
}
public void setList(List<?> list) {
this.list = list;
}
}
其余的代码也就不一一说了,有需要代码的可以从文章末给出的地址下载。
补充:鉴于有很多朋友需要源码,我也担心我后面没时间,不能够及时的把源码发给需要的朋友,所以就上传到了资源里,下载需要五个积分,如果积分不够的朋友,可以通过github下载 【加油】 下载地址,github下载地址
2020-03-02
后续补充:由于很多初学的朋友,对于这种项目很难上手,故将项目改为了 maven 管理的,并使用 Intellij ,可通过上述的 github 地址获得最新代码,CSDN 资源中的包,先不做修改。
如果你觉得我的文章对你有所帮助的话,欢迎关注我的公众号。赞!
认认真真学习,做思想的产出者,而不是文字的搬运工。错误之处,还望指出!