diff --git a/ssh_demo/src/main/java/zhangcong/controller/ZhangCongController.java b/ssh_demo/src/main/java/zhangcong/controller/ZhangCongController.java index 6e416f585e10c66150b2892a95042f011e12c389..aa8352c4b0e7b058a07841a21918e2a2cc22931b 100644 --- a/ssh_demo/src/main/java/zhangcong/controller/ZhangCongController.java +++ b/ssh_demo/src/main/java/zhangcong/controller/ZhangCongController.java @@ -1,5 +1,8 @@ package zhangcong.controller; +import zhangcong.entity.BjEntity; +import zhangcong.entity.Page; +import zhangcong.entity.PageUtils; import zhangcong.entity.ZhangCongEntity; import zhangcong.service.ZhangCongService; @@ -7,16 +10,22 @@ import javax.annotation.Resource; import java.util.List; public class ZhangCongController { - List list = null; + ZhangCongEntity zhangCongEntity=null; String name = null; + Integer pageNo = null; + Page page = null; + List bjEntity=null; String flag = "0"; @Resource ZhangCongService zhangCservice; public String queryPage(){ - list =zhangCservice.queryPage(name); - return "queryPage"; + int totalCount= zhangCservice.queryCount(name); + page = PageUtils.getPage(5,totalCount,pageNo); + List list = zhangCservice.queryPage(page,name); + page.setData(list); + return "queryPage"; } public String save(){ @@ -24,12 +33,34 @@ public class ZhangCongController { flag = "1"; return "save"; } + public String del(){ + zhangCservice.del(zhangCongEntity); + flag = "1"; + return "save"; + } + + public String edit(){ + zhangCongEntity =zhangCservice.edit(zhangCongEntity); + + return "edit"; + } + + public String bj(){ + bjEntity =zhangCservice.bj(); + return "bj"; + } + + //@Resource @Autowired 作用相同 去spring容器中到bean实例 //@Service @Component 向spring 容器中放入bean(类的对象)实例 - public List getList() { - return list; + public List getBjEntity() { + return bjEntity; + } + + public void setBjEntity(List bjEntity) { + this.bjEntity = bjEntity; } public ZhangCongEntity getZhangCongEntity() { @@ -64,7 +95,21 @@ public class ZhangCongController { this.name = name; } - public void setList(List list) { - this.list = list; + + + public Integer getPageNo() { + return pageNo; + } + + public void setPageNo(Integer pageNo) { + this.pageNo = pageNo; + } + + public Page getPage() { + return page; + } + + public void setPage(Page page) { + this.page = page; } } diff --git a/ssh_demo/src/main/java/zhangcong/dao/ZhangCongDao.java b/ssh_demo/src/main/java/zhangcong/dao/ZhangCongDao.java index 6e20d215103442870f0afd65ed8a715b19c81800..88923cceed6a70514a4ca924c712471fab02c9de 100644 --- a/ssh_demo/src/main/java/zhangcong/dao/ZhangCongDao.java +++ b/ssh_demo/src/main/java/zhangcong/dao/ZhangCongDao.java @@ -1,6 +1,8 @@ package zhangcong.dao; import org.springframework.transaction.annotation.Transactional; +import zhangcong.entity.BjEntity; +import zhangcong.entity.Page; import zhangcong.entity.ZhangCongEntity; import org.hibernate.Criteria; @@ -21,20 +23,52 @@ public class ZhangCongDao extends HibernateDaoSupport { - public List queryPage(String name) { + @Transactional + public void save(ZhangCongEntity zhangCongEntity) { + Session session= getSessionFactory().openSession(); + session.saveOrUpdate(zhangCongEntity); + session.flush(); + } + + + + + public int queryCount(String name) { String sql = "select * from j03zhangcong where name like ? "; Query query=getSessionFactory().openSession().createSQLQuery(sql); query.setParameter(0, "%" + name + "%"); - //将查询结果转成Map对象的集合 - // query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); - query.setResultTransformer(Transformers.aliasToBean(ZhangCongEntity.class)); List list= query.list(); + return list.size(); + } + public List queryPage(Page page, String name) { + String sql = "select a.name,a.id,a.url,b.bname from j03zhangcong a,j03zcclazz b where a.bid=b.id and name like ? order by systime desc limit ?,? "; + Query query=getSessionFactory().openSession().createSQLQuery(sql); + query.setParameter(0, "%" + name + "%"); + query.setParameter(1, page.getBeginIndex()); + query.setParameter(2, page.getEveryPage()); + query.setResultTransformer(Transformers.aliasToBean(ZhangCongEntity.class)); + List list= query.list(); return list; } - @Transactional - public void save(ZhangCongEntity zhangCongEntity) { - getSessionFactory().openSession().saveOrUpdate(zhangCongEntity); + + public ZhangCongEntity edit(ZhangCongEntity zc) { + Session session= getSessionFactory().openSession(); + return (ZhangCongEntity)session.get(ZhangCongEntity.class,zc.getId()); + } + + public void del(ZhangCongEntity zhangCongEntity) { + Session session= getSessionFactory().openSession(); + session.delete(zhangCongEntity); + session.flush(); + } + + public List bj() { + String sql = "select * from j03zcclazz "; + Query query=getSessionFactory().openSession().createSQLQuery(sql); + query.setResultTransformer(Transformers.aliasToBean(BjEntity.class)); + List list= query.list(); + return list; } } diff --git a/ssh_demo/src/main/java/zhangcong/entity/BjEntity.java b/ssh_demo/src/main/java/zhangcong/entity/BjEntity.java new file mode 100644 index 0000000000000000000000000000000000000000..be09dc3fffb8dc03cf5f41cf46a0f7893b350963 --- /dev/null +++ b/ssh_demo/src/main/java/zhangcong/entity/BjEntity.java @@ -0,0 +1,22 @@ +package zhangcong.entity; + +public class BjEntity { + private Integer id; + private String bname; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getBname() { + return bname; + } + + public void setBname(String bname) { + this.bname = bname; + } +} diff --git a/ssh_demo/src/main/java/zhangcong/entity/Page.java b/ssh_demo/src/main/java/zhangcong/entity/Page.java new file mode 100644 index 0000000000000000000000000000000000000000..067e50d5bcdb0011b6b8627c7e745529065df73c --- /dev/null +++ b/ssh_demo/src/main/java/zhangcong/entity/Page.java @@ -0,0 +1,111 @@ +package zhangcong.entity; + +import java.util.List; +public class Page { + // 1. 每页显示的数量 + private int everyPage; + + // 2. 总条目数 + private int totalCount; + + // 3. 总页数 + private int totalPage; + + // 4. 当前页数 + private int currentPage; + + // 5. 起始条 + private int beginIndex; + + // 6. 是否有上一页 + private boolean hasPrePage; + + // 7. 是否还有下一页 + private boolean hasNextPage; + + private List data; + + + + + + + public Page() { + } + + public Page(int everyPage, int totalCount, int totalPage, int currentPage, int beginIndex, boolean hasPrePage, + boolean hasNextPage) { + super(); + this.everyPage = everyPage; + this.totalCount = totalCount; + this.totalPage = totalPage; + this.currentPage = currentPage; + this.beginIndex = beginIndex; + this.hasPrePage = hasPrePage; + this.hasNextPage = hasNextPage; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public int getEveryPage() { + return everyPage; + } + + public void setEveryPage(int everyPage) { + this.everyPage = everyPage; + } + + public int getTotalCount() { + return totalCount; + } + + public void setTotalCount(int totalCount) { + this.totalCount = totalCount; + } + + public int getTotalPage() { + return totalPage; + } + + public void setTotalPage(int totalPage) { + this.totalPage = totalPage; + } + + public int getCurrentPage() { + return currentPage; + } + + public void setCurrentPage(int currentPage) { + this.currentPage = currentPage; + } + + public int getBeginIndex() { + return beginIndex; + } + + public void setBeginIndex(int beginIndex) { + this.beginIndex = beginIndex; + } + + public boolean isHasPrePage() { + return hasPrePage; + } + + public void setHasPrePage(boolean hasPrePage) { + this.hasPrePage = hasPrePage; + } + + public boolean isHasNextPage() { + return hasNextPage; + } + + public void setHasNextPage(boolean hasNextPage) { + this.hasNextPage = hasNextPage; + } +} diff --git a/ssh_demo/src/main/java/zhangcong/entity/PageUtils.java b/ssh_demo/src/main/java/zhangcong/entity/PageUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..cf1f68bbfa19c9687ecbc07f7ee77636b32cad52 --- /dev/null +++ b/ssh_demo/src/main/java/zhangcong/entity/PageUtils.java @@ -0,0 +1,85 @@ +package zhangcong.entity; + +public class PageUtils { + public static Page getPage(int everyPage, int totalCount, int currentPage) { + Page page = null; + //每页显示两条 + + + + //总页数 2 2 4 + //总页数 6 3 17 + int totalPage = getTotalPage(everyPage, totalCount); + + currentPage = getCurrentPage(currentPage,totalPage); + //起始条 5 2 3 + //起始条 11 5 3 + //起始条 11 3 7 + int beginIndex = getBeginIndex(everyPage, currentPage); + + + boolean hasPrePage = hasPrePage(currentPage); + boolean hasNextPage = hasNextPage(totalPage, currentPage); + return page = new Page(everyPage, totalCount, totalPage, currentPage, beginIndex, hasPrePage, hasNextPage); + } + + + + /** + * 设定当前页 + * + * @param currentPage + * @return + */ + public static int getCurrentPage(int currentPage,int totalPage) { + if(currentPage == 0) { + currentPage = 1; + }else if(currentPage > totalPage ){ + currentPage =totalPage; + } + return currentPage; + } + + /** + * 设定分页的总页数 + * + * @param everyPage + * @param totalCount + * @return + */ + public static int getTotalPage(int everyPage, int totalCount) { + int num = totalCount / everyPage; + return totalCount % everyPage == 0 ? num : num + 1; + } + + /** + * 设置起始点 + * + * @param everyPage + * @param currentPage + * @return + */ + public static int getBeginIndex(int everyPage, int currentPage) { + return (currentPage - 1) * everyPage; + } + + /** + * 设置是否有上一页 + * + * @param currentPage + * @return + */ + public static boolean hasPrePage(int currentPage) { + return currentPage == 1 ? false : true; + } + + /** + * 设置是否有下一页 + * + * @param currentPage + * @return + */ + public static boolean hasNextPage(int totalPage, int currentPage) { + return currentPage == totalPage || totalPage == 0 ? false : true; + } +} diff --git a/ssh_demo/src/main/java/zhangcong/entity/ZhangCongEntity.java b/ssh_demo/src/main/java/zhangcong/entity/ZhangCongEntity.java index f72bfb882b6ce1490dfda6ae7c95bc07e369ad82..a31a3deca1ea8118eb596e2cbdee757ae9e56a88 100644 --- a/ssh_demo/src/main/java/zhangcong/entity/ZhangCongEntity.java +++ b/ssh_demo/src/main/java/zhangcong/entity/ZhangCongEntity.java @@ -7,6 +7,10 @@ public class ZhangCongEntity { private Integer bid; private String url; private String bname; + + + + public Integer getId() { return id; } diff --git a/ssh_demo/src/main/java/zhangcong/service/ZhangCongService.java b/ssh_demo/src/main/java/zhangcong/service/ZhangCongService.java index 0b24c36d13b6c309341437c2f6f8ec5dd46a0e6c..439c440e992ac9e0c0f3d492ebd1f2906724feab 100644 --- a/ssh_demo/src/main/java/zhangcong/service/ZhangCongService.java +++ b/ssh_demo/src/main/java/zhangcong/service/ZhangCongService.java @@ -1,5 +1,7 @@ package zhangcong.service; +import zhangcong.entity.BjEntity; +import zhangcong.entity.Page; import zhangcong.entity.ZhangCongEntity; import java.util.List; @@ -7,7 +9,18 @@ import java.util.List; public interface ZhangCongService { - List queryPage(String name); + void save(ZhangCongEntity zhangCongEntity); + + + int queryCount(String name); + + List queryPage(Page page, String name); + + ZhangCongEntity edit(ZhangCongEntity zhangCongEntity); + + void del(ZhangCongEntity zhangCongEntity); + + List bj(); } diff --git a/ssh_demo/src/main/java/zhangcong/service/impl/ZhangCongServiceImpl.java b/ssh_demo/src/main/java/zhangcong/service/impl/ZhangCongServiceImpl.java index 8056feb506ed3f9922c984108d64f9d453cd7f07..7a9e20678e18237c5034976bc6f48adc22614fb4 100644 --- a/ssh_demo/src/main/java/zhangcong/service/impl/ZhangCongServiceImpl.java +++ b/ssh_demo/src/main/java/zhangcong/service/impl/ZhangCongServiceImpl.java @@ -1,6 +1,8 @@ package zhangcong.service.impl; import zhangcong.dao.ZhangCongDao; +import zhangcong.entity.BjEntity; +import zhangcong.entity.Page; import zhangcong.entity.ZhangCongEntity; import zhangcong.service.ZhangCongService; import org.springframework.beans.factory.annotation.Autowired; @@ -15,13 +17,36 @@ public class ZhangCongServiceImpl implements ZhangCongService { ZhangCongDao zhangCongDao; - @Override - public List queryPage(String name) { - return zhangCongDao.queryPage(name); - } @Override public void save(ZhangCongEntity zhangCongEntity) { zhangCongDao.save(zhangCongEntity); } + + @Override + public int queryCount(String name) { + return zhangCongDao.queryCount(name); + } + + @Override + public List queryPage(Page page, String name) { + return zhangCongDao.queryPage(page,name); + } + + @Override + public ZhangCongEntity edit(ZhangCongEntity zhangCongEntity) { + return zhangCongDao.edit(zhangCongEntity); + } + + @Override + public void del(ZhangCongEntity zhangCongEntity) { + zhangCongDao.del(zhangCongEntity); + } + + @Override + public List bj() { + return zhangCongDao.bj(); + } + + } diff --git a/ssh_demo/src/main/resources/conf/struts/zhangcongstrust.xml b/ssh_demo/src/main/resources/conf/struts/zhangcongstrust.xml index fcefb09fae50bee59005c2d7f2b7f579e624f5d8..6cc053de30fc31c171fd6bebd26ac03c273ba70d 100644 --- a/ssh_demo/src/main/resources/conf/struts/zhangcongstrust.xml +++ b/ssh_demo/src/main/resources/conf/struts/zhangcongstrust.xml @@ -7,13 +7,19 @@ - list + page flag + + zhangCongEntity + + + bjEntity + - queryPage,save + queryPage,save,edit,del,bj diff --git a/ssh_demo/src/main/resources/database.properties b/ssh_demo/src/main/resources/database.properties index 4f5aedb7686327c701e612f5793918c349fbdf18..2f9eea46a1a1ce83b612fbf26fd044a094bf32fb 100644 --- a/ssh_demo/src/main/resources/database.properties +++ b/ssh_demo/src/main/resources/database.properties @@ -1,7 +1,7 @@ driver=com.mysql.jdbc.Driver -url=jdbc:mysql://39.105.145.195:3306/java3456?useUnicode=true&characterEncoding=utf-8 +url=jdbc:mysql://localhost:3306/java3456?useUnicode=true&characterEncoding=utf-8 user=root -password=1q2w3e4r +password=x5 minIdle=45 maxIdle=50 initialSize=5 diff --git a/ssh_demo/src/main/webapp/zhangc/user_create.html b/ssh_demo/src/main/webapp/zhangc/user_create.html index 9d3047020d6fafd76420780cfe3c75a2090afca6..5201885ba66af8913ac15c036f71d152a1f0f853 100644 --- a/ssh_demo/src/main/webapp/zhangc/user_create.html +++ b/ssh_demo/src/main/webapp/zhangc/user_create.html @@ -80,7 +80,7 @@
- +
@@ -88,14 +88,14 @@
- +
- @@ -130,49 +130,59 @@