springmvc+mybatis 做分页sql 语句

<?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="ssmy.dao.UserDao">
<resultMap type="ssmy.dto.User" id="User">
<!--<resultMap type="User" id="User"> 如果在sprin文件里配置初始化 mybatis里配置了别名就是有-->
<!-- 用id属性来映射主键字段 -->
<id property="id" column="id" jdbcType="INTEGER"/>
<!-- 用result属性来映射非主键字段 -->
<result property="userName" column="userName" jdbcType="VARCHAR"/>
<result property="password" column="password" jdbcType="VARCHAR"/>
<result property="trueName" column="trueName" jdbcType="VARCHAR"/>
<result property="email" column="email" jdbcType="VARCHAR"/>
<result property="phone" column="phone" jdbcType="VARCHAR"/>
<result property="roleName" column="roleName" jdbcType="VARCHAR"/>
</resultMap>

<!--分页返回类型list 可以使用map User对应的是resultMap size每页的大小-->
<select id="find" resultMap="User" parameterType="Map">
select t2.* from
( select t1.*,rownum rn from t_user t1
<where>
<if test ="userName !=null and userName !=‘‘ ">
t1.userName like ‘%‘||#{userName,jdbcType=VARCHAR}||‘%‘
</if>
</where>
) t2
<where>
<if test ="start !=null and start !=‘‘">
<![CDATA[and t2.rn >=#{start}]]>
</if>

<if test ="size !=null and size !=‘‘">
and <![CDATA[t2.rn <=#{size}]]>
</if>
</where>
</select>
<!--获取总记录数 -->
<select id="getTotal" parameterType="Map" resultType="java.lang.Integer">
select count(1) from t_user
<where>
<if test ="userName !=null and userName !=‘‘ ">
userName like ‘%‘||#{userName,jdbcType=VARCHAR}||‘%‘
</if>
</where>
</select>
<!--<insert id="createser" parameterType="User">
insert into NEWS_USER (id,username,password,email,usertype)
values (#{id,jdbcType=NUMERIC},#{username,jdbcType=VARCHAR},
#{password,jdbcType=VARCHAR},#{email,jdbcType=VARCHAR},1)
<selectKey resultType="int" order="BEFORE" keyProperty="id">
select seq_id.nextval from dual
</selectKey>
</insert>-->

</mapper>

时间: 2024-12-28 09:18:14

springmvc+mybatis 做分页sql 语句的相关文章

详解Java的MyBatis框架中SQL语句映射部分的编写

这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: ? 1 2 3 4 5 6 <mappers>   <mapper resource="com/limi

mybatis mapper文件sql语句传入hashmap参数

1.怎样在mybatis mapper文件sql语句传入hashmap参数? 答:直接这样写map就可以 <select id="selectTeacher" parameterType="Map" resultType="com.myapp.domain.Teacher"> select * from Teacher where c_id=#{id} and sex=#{sex} </select>

mybatis中写sql语句时需要转义的字符

mybatis配置文件,sql语句中含有转义字符: 错误语句: select * from table_base where flag_topic  & #{topic_num} 错误信息: Caused by: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 54; The entity name must immediately follow the '&' in the entity reference. 正确语

MyBatis中动态SQL语句完成多条件查询

http://blog.csdn.net/yanggaosheng/article/details/46685565 MyBatis中动态SQL语句完成多条件查询 <select id="queryEmp"  resultType="cn.test.entity.Emp"> select * from emp where 1=1 <if test="deptNo!=null"> and deptno=#{deptNO} &

springmvc+mybatis+easyui分页

道德三黄五帝,功名夏侯商周.五霸七雄闹春秋,顷刻兴亡过手.清时几行名姓,北芒无数荒丘.前人播种后人收,说什么原创与否. 今天和大家分享一下springmvc+mybatis+easyui的分页实现.springmvc,mybatis的优缺点不做太多敖述大家都比较了解了,ssm框架整合的例子网上也有很多了,为什么还要写这篇文章那,主要是觉得大多过于零散配置方式又是千差万别,总结一下本文希望对遇到此问题的人有所帮助,前人播种后人收.当然程序开发没有觉得正确,谁也说不出一个正确的实现第N行代码是什么,

SpringMVC + Mybatis bug调试 SQL正确,查数据库却返回NULL

今天碰到个bug,有点意思 背景是SpringMVC + Mybatis的一个项目,mapper文件里写了一条sql 大概相当于 select a from tableA where b = "123" 这样的级别 然后不管传进去的是什么 数据库里有没有 都会返回null 第一反应是sql语句写错了,比如把1和小写L弄混了之类的,传给sql的参数里有奇怪的空格等等 于是打开debug log 拿到传给sql的preparedStatement 和对应的参数 复制到console里自己查

Spring+MyBatis框架中sql语句的书写,数据集的传递以及多表关联查询

在很多Java EE项目中,Spring+MyBatis框架经常被用到,项目搭建在这里不再赘述,现在要将的是如何在项目中书写,增删改查的语句,如何操作数据库,以及后台如何获取数据,如何进行关联查询,以及MyBatis的分页问题. 首先先看看项目的架构,方便后边叙述. 这个项目中是一个Sping+MyBatis的完整demo(这边将页面没有展示.)这次的主题主要是后台数据处理逻辑.接下来为大家逐一介绍各个文件, org.config   Spring配置包括数据库的链接信息 org.control

MyBatis 构造动态 SQL 语句

以前看过一个本书叫<深入浅出 MFC >,台湾 C++ 大师写的一本书.在该书中写道这样一句话,"勿在浮沙筑高台",这句话写的的确对啊.编程很多语言虽然相同,但是真正做还是需要认真的学习,如果只是想着按想像着来,真的是会走很多弯路,浪费很多时间. 无法使用 not in 在项目中需要使用到 not in ,想着不是很复杂,但是这个问题困扰了我个把小时,很是郁闷.自己拼接好了字符串,字符串的内容是 not in 中的各个 id 值.通过 not in 来进行 update 的

Mybatis映射文件sql语句学习心得

现有数据库表: CREATE TABLE `dept_p` ( `DEPT_ID` varchar(40) NOT NULL, `DEPT_NAME` varchar(50) DEFAULT NULL, `PARENT_ID` varchar(40) DEFAULT NULL COMMENT '自关联,多对一', `STATE` int(11) DEFAULT NULL COMMENT '1启用0停用', `CREATE_BY` varchar(40) DEFAULT NULL COMMENT