Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="houseDao" ><resultMap id="BaseResultMap" type="house" ><id column="ID" property="id" jdbcType="INTEGER" /><result column="TITLE" property="title" jdbcType="VARCHAR" /><result column="DESCRIPTION" property="description" jdbcType="VARCHAR" /><result column="PRICE" property="price" jdbcType="REAL" /><result column="PUBDATE" property="pubdate" jdbcType="DATE" /><result column="FLOORAGE" property="floorage" jdbcType="INTEGER" /><result column="CONTACT" property="contact" jdbcType="VARCHAR" /><!-- 开始映射外键 --><!-- 映射用户表 --><association property="users" column="user_id" select="selectUsers"/><!-- 映射类型表 --><association property="types" column="type_id" select="selectTypes"/><!-- 映射街道表 --><association property="street" column="street_id" select="selectStreet"/></resultMap><!-- 关联用户表 --><resultMap id="usersMapper" type="users" ><id column="ID" property="id" jdbcType="INTEGER" /><result column="NAME" property="name" jdbcType="VARCHAR" /><result column="PASSWORD" property="password" jdbcType="VARCHAR" /><result column="TELEPHONE" property="telephone" jdbcType="VARCHAR" /><result column="USERNAME" property="username" jdbcType="VARCHAR" /><result column="ISADMIN" property="isadmin" jdbcType="VARCHAR" /></resultMap><!-- 关联街道表 --><resultMap id="streetMapper" type="street" ><id column="ID" property="id" /><result column="NAME" property="name" jdbcType="VARCHAR" /><association property="district" column="district_id" select ="selectDirstrict"/></resultMap><!-- 关联区县表 --><resultMap id="districtDaoMapper" type="district" ><id column="ID" property="id"/><result column="NAME" property="name"/></resultMap><!-- 在根据区县id查询一遍区县表 --><select id="selectDirstrict" resultMap="districtDaoMapper">select * form district where id=#{district_id}	</select><!--关联类型表  --><resultMap id="typeMapper" type="types" ><id column="ID" property="id"/><result column="NAME" property="name" jdbcType="VARCHAR" /></resultMap><!-- 用户表 --><select id="selectUsers" resultMap="usersMapper">select * from users where id=#{user_id}</select><!-- 街道表 --><select id="selectStreet" resultMap="streetMapper">select * from street where id=#{street_id}</select><!-- 类型表 --><select id="selectTypes" resultMap="typeMapper">select * from types where id=#{type_id}</select><sql id="Base_Column_List" >ID, USER_ID, TYPE_ID, TITLE, DESCRIPTION, PRICE, PUBDATE, FLOORAGE, CONTACT, STREET_ID</sql><!--根据id查询房屋信息 --><select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >select <include refid="Base_Column_List" />from housewhere ID = #{id,jdbcType=INTEGER}</select><!-- 根据id删除房屋信息 --><delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >delete from housewhere ID = #{id,jdbcType=INTEGER}</delete><!-- 添加房屋信息 --><insert id="insert" parameterType="house" >insert into house(USER_ID, TYPE_ID, TITLE, DESCRIPTION, PRICE,  PUBDATE, FLOORAGE, CONTACT, STREET_ID)values(#{users.id,jdbcType=INTEGER}, #{types.id,jdbcType=INTEGER},  #{title,jdbcType=VARCHAR},#{description,jdbcType=VARCHAR}, #{price,jdbcType=REAL}, #{pubdate,jdbcType=DATE}, #{floorage,jdbcType=INTEGER},#{contact,jdbcType=VARCHAR}, #{street.id,jdbcType=INTEGER})</insert><!-- 根据id修改房屋信息 --><update id="updateByPrimaryKey" parameterType="house" >update house setUSER_ID     = #{users.id,jdbcType=INTEGER},TYPE_ID     = #{types.id,jdbcType=INTEGER},TITLE  		= #{title,jdbcType=VARCHAR},DESCRIPTION = #{description,jdbcType=VARCHAR},PRICE		= #{price,jdbcType=REAL},PUBDATE 	= #{pubdate,jdbcType=DATE},FLOORAGE 	= #{floorage,jdbcType=INTEGER},CONTACT		= #{contact,jdbcType=VARCHAR},STREET_ID 	= #{street.id,jdbcType=INTEGER}where ID 		= #{id,jdbcType=INTEGER}</update><!-- 动态查询房屋信息的总记录数 --><select id="reCount" parameterType="houseC" resultType="Integer">select count(0) from house h<where><if test="priceBegin!=null">and h.price > #{priceBegin}</if><if test="priceEnd!=null">and h.price   <![CDATA[<]]>  #{priceEnd}</if><!-- h.street_id是数据库的字段名 --><if test="street!=null">and h.street_id = #{street.id}</if><!-- h.type_id是数据库的字段名 --><if test="types!=null">and h.type_id = #{types.id}  </if> <if test="floorageBegin!=null">and h.floorage > #{floorageBegin}  </if><if test="floorageEnd!=null">and h.floorage <![CDATA[<]]>  #{floorageEnd}</if></where></select><!-- 分页动态查询房屋信息 --><select id="getHouseInfoByDymanic" parameterType="hashmap" resultMap="BaseResultMap">select * from house h<where><if test="priceBegin!=null">and h.price > #{priceBegin}</if><if test="priceEnd!=null">and h.price   <![CDATA[<]]>  #{priceEnd}</if><if test="street!=null">and h.street_id = #{street.id}</if><if test="types!=null||!types==null">and h.type_id = #{types.id}  </if><if test="floorageBegin!=null">and h.floorage > #{floorageBegin}  </if><if test="floorageEnd!=null">and h.floorage <![CDATA[<]]>  #{floorageEnd}</if></where>limit #{stratRow},#{endRow}</select><!-- 查询全部的房屋信息 --><select id="getHouseInfo" resultType="house">select * from house </select><!-- 分页查询全部的房屋信息 --><select id="getHousePage" parameterType="hashmap" resultMap="BaseResultMap">select * from house limit #{startRow},#{endRow}</select>
</mapper>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机钉钉在进行视频会议时怎么录屏

https://www.iefans.net/info/v1037168.html 钉钉在进行视频会议时怎么录屏 编辑&#xff1a;秩名2020-03-24 10:14:52 钉钉 类型&#xff1a;效率办公 语言&#xff1a;简体中文 安卓下载 扫一扫下载游戏 钉钉是一款很好用的学习办公软件&#xff0c;它的工呢很多&#xf…

Vue3学习(后端开发)

目录 一、安装Node.js 二、创建Vue3工程 三、用VSCode打开 四、源代码目录src 五、入门案例——手写src 六、测试案例 七、ref和reactive的区别 一、安装Node.js 下载20.10.0 LTS版本 https://nodejs.org/en 使用node命令检验安装是否成功 node 二、创建Vue3工程 在…

微软Ignite大会约起来

今年的微软Ignite技术大会今天开始了&#xff0c;要好好学习哦&#xff0c;提供直播地址&#xff0c;通过阅读原文链接可以直达直播地址 http://soft.zdnet.com.cn/special/microsoft_ignite_2016。 大会亮点 创新 IT 技术飞速发展促发了更多行业创新&#xff0c;因此您和您的企…

aria2c rpc php,aria2c 的基本配置,附带傻瓜式源码

经常需要配置&#xff0c;但是 每次都需要查找配置项的意义&#xff0c;所以索性写在这里&#xff0c;以便有个记录&#xff0c;下次无需查找。aria2c -d/Users/blueboz/Downloads \-c \-D \-laria.log \-j5 -k1M \-x16 -s16 \--file-allocationnone \--enable-rpc \--load-coo…

最全Windows下搭建go语言开发环境以及开发IDE

https://www.cnblogs.com/ynhmonster/p/8335797.html GO语言开发环境的搭建---Windows环境下 1、Golang下载 我是通过Golang中国下载的&#xff0c;因为去官网下载十分慢&#xff0c;甚至没有进度条。 下载地址&#xff1a; https://www.golangtc.com/download 我选择的是go1…

外媒:微信小程序顺应“APP中启动APP”的行业潮流

BI中文站 11月30日报道 上周&#xff0c;中国网络巨头腾讯的高级副总裁张小龙对外披露了一些照片&#xff0c;显示聊天工具微信开始整合“小程序”。这一功能可以让微信的用户在无需下载软件的基础上&#xff0c;使用各种互联网应用服务&#xff0c;极大扩展微信的功能。 据外媒…

SpringMVC(笔记)

MVC简介 普通的web项目每次都要进行手动的把jar包导进去&#xff0c;否则会报500&#xff0c;class not found [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VstjHhuz-1609824493673)(C:\Users\王东梁\AppData\Roaming\Typora\typora-user-images…

php 去掉url中的index.php,php 去掉url中的index.php

php去掉url中的index.php的方法&#xff1a;首先打开相应的代码文件&#xff1b;然后将if代码块嵌套在server代码块中&#xff1b;最后重启nginx服务器即可。本文操作环境&#xff1a;nginx1.0.4系统、PHP7.1版&#xff0c;DELL G3电脑nginx服务器去掉url中的index.php将if代码…

在ASP.NET Core中使用百度在线编辑器UEditor

0x00 起因 最近需要一个在线编辑器&#xff0c;之前听人说过百度的UEditor不错&#xff0c;去官网下了一个。不过服务端只有ASP.NET版的&#xff0c;如果是为了能尽快使用&#xff0c;只要把ASP.NET版的服务端作为应用部署在IIS上就可以立即使用了。不过我的需求并不急&#xf…

如何用TypeScript开发微信小程序

微信小程序来了&#xff01;这个号称干掉传统app的玩意儿虽然目前处于内测阶段&#xff0c;不过目前在应用号的官方文档里已经放出了没有内测号也能使用的模拟器了。 工具和文档可以参考官方文档&#xff1a;https://mp.weixin.qq.com/debug/wxadoc/dev/?t1477926804193 Type…

八幅漫画理解使用JSON Web Token设计单点登录系统

上次在《JSON Web Token - 在Web应用间安全地传递信息》中我提到了JSON Web Token可以用来设计单点登录系统。我尝试用八幅漫画先让大家理解如何设计正常的用户认证系统&#xff0c;然后再延伸到单点登录系统。 如果还没有阅读《JSON Web Token - 在Web应用间安全地传递信息》&…

pg和oracle比较,Oracle与PostgreSQL使用差异对比与总结

JDBC连接&#xff1a;Oracle的jdbc连接字符串&#xff1a;db.urljdbc:oracle:thin:192.168.1.1:1521:ORCLPostgresql的连接字符串&#xff1a;db.urljdbc:postgresql:192.168.1.1:5432/database1、基本数据类型差异OraclePostgreSQLVarchar2varcharnumbernumericdatetimestamp/…

hibernate+struts2整合jar包冲突

前几天&#xff0c;在用HibernateStruts2做项目的时候遇到了一个很棘手的问题&#xff0c;jar包冲突&#xff01;&#xff01;&#xff01;先亮一下错误&#xff1a; 之前还不知道这是个啥错误&#xff0c;经过上网查找之后才知道这是jar包冲突的问题&#xff01;&#xff01;由…

在ASP.NET Core中实现一个Token base的身份认证

以前在web端的身份认证都是基于Cookie | Session的身份认证, 在没有更多的终端出现之前&#xff0c;这样做也没有什么问题&#xff0c;但在Web API时代&#xff0c;你所需要面对的就不止是浏览器了&#xff0c;还有各种客户端&#xff0c;这样就有了一个问题&#xff0c;这些客…

php 运算器,运算器的功能是什么

运算器的功能是加、减、乘、除四则运算&#xff0c;与、或、非、异或等逻辑操作&#xff0c;以及移位、比较和传送等操作&#xff0c;运算器的处理对象是数据&#xff0c;所以数据长度和计算机数据表明方法&#xff0c;对运算器的性能影响极大。本文操作环境&#xff1a;Window…

.NET Standard 2.0:整齐划一的目标

在两个月前公布.NET Standard 2.0时&#xff0c;微软认为新版标准的目标在于为现有的三个主要.NET平台&#xff1a;.NET Framework、.NET Core&#xff0c;以及Xamarin提供一个坚实的底层基础&#xff0c;并为未来满足树莓派或IoT等全新类型设备需求可能需要创建的分支提供支持…

两年来的core折腾之路几点总结,附上nginx启用http2拿来即用的配置

为什么要迁移&#xff0c;江湖上传说windows server的稳定性不如某某某&#xff0c;这类议题与八卦新闻没两样&#xff0c;不谈&#xff0c;如果windows的价钱能够和linux相同或者差异不至于那么大&#xff0c;我才懒得换&#xff0c;因为穷&#xff0c;这才是重点。 涉及IO路径…

Vue(笔记)

所有东西必须都在标签里面进行定义&#xff0c;都在div中 报错后不断npm和cnpm Vue简介 Vue (读音/vju/, 类似于view)是一套用于构建用户界面的渐进式框架&#xff0c;发布于2014年2月。与其它大型框架不同的是&#xff0c;Vue被设计为可以自底向上逐层应用。Vue的核心库只关…

java通过poi读取excel中的日期类型数据或自定义类型日期

java通过poi读取excel中的日期类型数据或自定义类型日期 Java 读取Excel表格日期类型数据的时候&#xff0c;读出来的是这样的 12-十月-2019&#xff0c;而Excel中输入的是 2019/10/12 或 2019-10-12 poi处理excel时&#xff0c;当excel没有明确指明是哪个类型的数据时&…