2 private int page = 1 //初始页
3 private int rows = 10//一页多少行数据
4 private String q// 要查询的 关键字
5 private String order = "asc"// 是'asc'或'desc'
6 protected String sort = "d.id"// 那个字段进行排序
7
8 public int getBegin() {
9 return (page - 1) * rows
10 }
11
12 public int getEnd() {
13 return rows
14 }
15 // 上面4个属性给mapper使用,limit,order里面使用
16
17 public int getPage() {
18 return page
19 }
20
21 public void setPage(int page) {
22 this.page = page
23 }
24
25 public int getRows() {
26 return rows
27 }
28
29 public void setRows(int rows) {
30 this.rows = rows
31 }
32
33 public String getQ() {
34 return q
35 }
36
37 public void setQ(String q) {
38 this.q = q
39 }
40
41 public String getOrder() {
42 return order
43 }
44
45 public void setOrder(String order) {
46 this.order = order
47 }
48
49 public String getSort() {
50 return sort
51 }
52
53 public void setSort(String sort) {
54 this.sort = sort
55 }
60 }
定义一个page类,简单的处理一哈,这个应该都看得懂,很简单
这个PageMapper就是Dao接口里面的 定义一个泛型,方便封装,其余的类想用分页直接继承,改一下类型
public interface PageMapper<T>{
Integer findCountByQuery(Query query) //查询的行数
List<T>findLimitByQuery(Query query) //模糊查询
}
下面就贴一下xml文件的 代码,就是写的sql 映射这一些,现在开发都用的映射,写xml配置,以前是用的注解,不会的度娘吧
下面
StudentQuery里面的定义就看自己的需求,get、set方法,这个会不 继承上面的pege就好了
<!-- 根据条件查询count -->
<!-- findCountByQuery 方法名 dao接口的两个 这个是查询的行数 parameterType就是返回 -->
<select id="findCountByQuery" resultType="int" parameterType="StudentQuery">
select count(id) from t_student
<!--用的包含-->
<include refid="whereSql" />
</select>
<!-- 根据条件查询limit -->
<!--里面的跟上面差不多 只是id要对应方法名哦-->
<select id="findLimitByQuery" resultType="Student"
parameterType="StudentQuery">
select id,name,teacher from
t_student
<include refid="whereSql" />
limit #{begin},#{end}
</select>
<!-- 公共的查询条件 根据name模糊查询 当然了 支持多个查询,在后面if就行了跟着这个写 -->
<sql id="whereSql">
<where>
<if test="name!=null and name!=''">
and name like name('%',#{name},'%')
</if>
</where>
</sql>
下面就是service和实现类的
public interface PageService<T>{
/**
* 分页
* @param query
* @return
*/
PageList findByQuery(Query query)
}
public abstract class BaseServiceImpl<T>implements IBaseService<T>{
@Autowired
BaseMapper<T>baseMapper
@Override
public PageList findByQuery(Query query) {
PageList pageList = new PageList()
Integer count = baseMapper.findCountByQuery(query)
if (count == null || count == 0) {
return pageList
}
List<T>rows = baseMapper.findLimitByQuery(query)
pageList.setRows(rows)
pageList.setTotal(count)
return pageList
}
}
好了 最后只需要调用service的方法就搞定了
controller里面直接调用方法返回给前端json数据就好了
注意一点,
StudentQuery 是个人自己定义的 只需要继承pege类就好了 里面就是模糊查询的参数, 这个
PageList 就可以改变的哈 我是用这个类来表示的 当然 你可以换成二维数组 分页查询的数据默认查询全部 丢到前端的就是pagelist 学会变通一下 前端的就不写了 本人是写后台的 没看懂的可以留言
import java.util.ArrayList
import java.util.List
public class PageList {
private int total //多少行
private List rows = new ArrayList() //显示的数据存到集合里面
public int getTotal() {
return total
}
public void setTotal(int total) {
this.total = total
}
public List getRows() {
return rows
}
public void setRows(List rows) {
this.rows = rows
}
@Override
public String toString() {
return "PageList [total=" + total + ", rows=" + rows + "]"
}
}
/**
* controller
*
* @author Administrator
*
*/
@RequestMapping("/Student")
@Controller
public class Controller {
@Autowired
PageService service
/**
*
* @param query
* @return
*/
@ResponseBody
@RequestMapping("all")
public JSONObject selectAll(StudentQuery query) {
JSONObject jsonObject = new JSONObject()
jsonObject.put("student", service.findByQuery(query))
return jsonObject
}
}
Java培训要学习的内容还是很多的,下面我们来看一下全日制面授班5-6个月的培训Java要学习哪些知识:第一阶段:Java核心基础
可掌握的技能
1深入理解Java面向对象思想
2掌握开发中常用基础API
3熟练使用集合框架、IO流、异常
4能够基于JDK8开发
课程设计特色
本阶段除了JavaSE中要求大家必会的java基础知识外,重点加强了数据结构思想、集合源码分析、jdk9-11新特性的介绍,让学员不光“知其然,还要知其所以然”,从最开始便培养学员深入学习和架构思维能力。
第二阶段:数据库关键技术
可掌握的技能
1掌握最流行关系型数据MySQL常见 *** 作
2熟练增删改查数据处理
3掌握Java JDBC、连接池 *** 作
课程设计特色
我们选择市面最流行的MySQL数据库来开展本阶段数据库知识的学习,层层递进,让大家掌握开发使用的数据是如何存储和处理的。并且逐步深入学习到索引和优化、锁机制、存储过程等。
第三阶段:web网页技术
可掌握的技能
1掌握基本的JavaWeb基础知识JSP/Servlet/jQuery等
2具备基本的B/S结构软件开发能力
3可以动手开发一个B/S架构的Web项目
课程设计特色
本阶段以项目案例为驱动,采用所学即所用的方式指导大家学习,在边学边练过程中,可深入掌握Web开发技术,具备与之匹配的实战能力。
第四阶段:开发必备框架
可掌握的技能
1掌握SSM框架技术
2掌握使用Maven进行模块的开发
3熟悉基本的Linux命令以及Linux服务器的使用
4掌握高级缓存技术Redis的原理,并熟练使用
课程设计优势
SSM框架的学习和框架设计,入门门槛都太高,理解起来晦涩。课程抓住这两个痛点。 通过从0搭建一个较为完备的web框架来提升自己的开发能力,同时能够管中窥豹,去了解SSM框架的设计思路,再辅以通俗易懂的Spring和mybatis核心模块源码的讲解,将课程门槛拉低, 让大家通过学习本门课程后能够通过自己学习读懂Spring乃至其他框架的源码。 本课程的目标是:让新手学到技术,让老手学到思想,让高手学到境界。
第五阶段:互联网高级技术
可掌握的技能
分布式管理系统、Keepalived+Nginx主备、微服务架构技术、消息中间件技术、MySQL调优、高并发技术、性能优化、内存和GC等
课程设计优势
本课程由一线大厂技术大咖与尚硅谷组成专家团队精心打磨,并定期更新,囊括企业面试和开发中主流前沿的技术,涵盖Java开发工程师不同成长阶段的问题及优选解决方案。每个热门技术当做单课深入讲解,而非某些机构只是一带而过,或项目中简单使用。
相信只有让学员可以系统学习和掌握核心技术,才能在面试和开发中脱颖而出。
第六阶段:大型企业项目
项目设计特色
该课程项目是一套完整的、经企业大咖和教研团队精心挑选打磨的项目体系。以电商、金融、医疗、教育、旅游等主流行业为核心载体,采用当下最热门的微服务架构SpringCloud和前端架构Vue,每个项目同时又各有侧重。最终打造成全网稀缺的一整套系统开发课程和企业级项目真实开发流程,“好货不怕看”,每个项目都有对应配套项目视频,可以体验。技术全面前沿,深入展开,对标阿里p7,业务真实还原企业开发解决方案,而非某些机构仅仅只是技术堆砌,只打口号。学习期间带你实战移动端、PC端、H5等多终端的系统,本系统可对接各类真实业务系统,如金融、电商、预约挂号、在线学习等各行业的业务系统,为系统对接上支持微信、支付宝、银联、融合支付、混合支付等多种企业级支付模式,让你的系统一键支持【支付】功能。互联网未来潜力已毋庸置疑。学习系统的核心业务特色,掌握微服务架构技术、前后端技术,刻不容缓。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)