欢迎来到天天文库
浏览记录
ID:42427333
大小:701.36 KB
页数:20页
时间:2019-09-14
《day20-MyBatis高级查询与分页》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、MyBatis高级查询与分页一课程介绍•高级查询1高级查询的概念2#与$的区别3使用代码完成高极查询4使用MyBatis完成高级杳询5Web页面完成高级查询•分页功能1真分页与假分页2分页的设计原理3后台完成分页功能4前台完成分页•高级查询与分页的集成(难点)二高级查询2.1高级查询的概念什么叫高级查询?为什么我们需要高级查询?1=1在我们的课程系统屮,高级杏询就是多条件查询。人家在上网的时候一定遇到很多这种相应的查询功能。它可以帮我们更快史好的找到需要的信息与资源。试想一下,以后咱们做一个客户管理系统。一张表中有10000多个客户,我们是让用户从10000多个人中去找
2、,还是根据一些条件(如名称,性别等)过一次过滤查询就找到。卜-面为-•些经常看到的高级查询:躺入W和1号/由隔所在堆:口虱四川,成許戎乡:中国匕在线□奚嫌头查找搜索设置高级捜索笔记本商品箝送共252环商品品牌:Lenovo/EUSThinkPad.^电)戴尔幼惠普丘AuthOfMReM***WacerHaier7直幺宵紫麦ZWo*fioe亠清华同方①dare鑽已l=M^>I,(
3、AAABCMOEN0-23992400-34993500-38993900-51995200-60996100-76997700以上二匚确走适用人群:游戏达入校园字生时肖超薄商劳办公高若影昔其他
4、尺寸:13無寸140英寸15®寸17.錢寸12安寸•H尿寸10.1S才尺以下亘他处遲器:Inteli7Inteli5Inteli3IntelIntel亘它AMDFXAMOA10AMDA3AMDA6AM0氢他更多迭项(系貌、昱卡、內ffSS等〉惟广裔品9
5、
6、i我价格评论埶上臬时间在当前分秦中搜索北京朝阳区三歼到四坏之囘京东KS货5?附毅仅显示有货以咱们的Product这个货品为例:如果我们现在要根据这个货品的名称与价格做高级查询应该是怎么样的呢?下图分析:f1全»««selectafroaproduct2华为的商品select«fronproductvhcrcproduc
7、tH^nc1ike°%华为务°3BiSStt大于800的同品select•frowproductvherei?alePrice>8004eiHft价小于3000的稍&select«frowproductwheres^lePrice<30005査询名称中佝华为并且咨价大于8UU的商品select«fro«productwhereproductNanelike・%华为鴛・andsalePrice>8006査谄名称g自华为并且密价小于3000的商品select•fronproductwhereproductNanclike'%华为鴛'andsalcPricc<30007干8o
8、o的besnfftfid'干3000的bpselect•fro>productwheresalePrice>800andsalePrice<30008更洞名称中有华为咨价大于800并且小于300Dselect•fronproductwhereproducrtNnnelike‘%华}andsnlcPrico>800nndsnlnPricft<3000V根据上而的分析我们可以得出以下结论:1高级查询就是在查询基础上添加后面的where条件2根据不同的情况,where后面的条件都不同的3提供的过滤条件越多,我们杏询的排列组合也就越多综上可以看到,我们需要提供相应的查询宁段,但
9、是会不会川到,就看客户自己。但是由于这么多排列组合,我们不可能把所冇的Sql全部准备好。因此,咱们必需要能生成动态SQL(说白了就是根据用户选择条件来拼接字符串(where语句))怎么拼接呢?用户选择了,这个字段就不为空,当这个字段不为空的时候,我们就在where后的杏询加上这个条件过滤2.2使用代码完成高级查询在完成高级查询Z前,我们要准备一个Query对象:,为什么要准备这个Query对象呢?1查询的条件是有很多的,如果我们不封装成对象,传多个参数的话很麻烦,也不利于以后的修改与扩展2调川MyBatis中配置的sql的时候,只能传一个参数,那咱们只冇把所冇参数都封装
10、到一个对彖中,然后把这个对彖传递过去Query对象就是咱们的杳询对象,创建Query对象是有一定的规范的:它应该在一个query包中,这个包与domain同级,名称为XxxQuery—Xxx表示实体的名称如:StudentQuery/ProductQuery在Query中我们准备好相应的査询条件字段与属性(Query就是一个JavaBean)根据上面的分析,咱0]为Product准备和应的Query对豫:publicclassProductQuery{privateStringname;//jfijjl名稍;privateBigDecim
此文档下载收益归作者所有