<sqlMap namespace="User"> <typeAlias alias="User" type="com.zjapl.smsapp.domain.entity.User" /> <resultMap class="User" id="UserResult"> <result property="id" column="ID" jdbcType="DECIMAL" /> <result property="loginId" column="LOGIN_ID" jdbcType="VARCHAR" /> <result property="name" column="NAME" jdbcType="VARCHAR" /> <result property="password" column="PASSWORD" jdbcType="VARCHAR" /> <result property="gender" column="GENDER" jdbcType="DECIMAL" /> <result property="phone" column="PHONE" jdbcType="VARCHAR" /> <result property="status" column="STATUS" jdbcType="DECIMAL" /> <result property="roleId" column="ROLE_ID" jdbcType="DECIMAL" /> <result property="skin" column="SKIN" jdbcType="VARCHAR" /> <result property="createDate" column="CREATE_DATE" jdbcType="TIMESTAMP" /> <result property="updateDate" column="UPDATE_DATE" jdbcType="TIMESTAMP" /> <result property="remark" column="REMARK" jdbcType="VARCHAR" /> </resultMap> <resultMap class="User" id="UserWithRoleNameResult" extends="UserResult"> <result property="roleName" column="ROLE_ID" select="Role.selectNameById"/> </resultMap> <!-- 判断条件:状态为(0为正常,1为不可用)以及模糊匹配用户名称 --> <sql id="whereByParam"> <![CDATA[ WHERE K.STATUS IN(0,1) AND K.ID <> 1 ]]> <isNotEmpty prepend="AND" property="param.searchloginId"> <![CDATA[ LOGIN_ID like '%$param.searchloginId$%' ]]> </isNotEmpty> <isNotEmpty prepend="AND" property="param.searName"> <![CDATA[ NAME LIKE '%$param.searName$%' ]]> </isNotEmpty> <isNotEmpty prepend="AND" property="param.searRoleName"> <![CDATA[ //--- ROLE_ID in (select id from mst_role where name LIKE '%$param.searRoleName$%') ]]> </isNotEmpty> </sql> <!-- 用户列表 --> <select id="selectByParam" resultMap="UserWithRoleNameResult" parameterClass="DynamicQueryParam"> <![CDATA[ SELECT K.* FROM MST_USER K ]]> <include refid="whereByParam" /> <![CDATA[ ORDER BY K.UPDATE_DATE ASC ]]> </select> </sqlMap>
---------------多表查询时
<!-- <tr> --> <!-- <td align="right">角 色:</td> --> <!-- <td><input name="user.searRoleName" type="text" class="search_text" value="${(user.searRoleName)!''}"/> --> <!-- </td> --> <!-- </tr> --> <tr> <td align="right">角色:</td> <td> <select name="user.searRoleName" class="search_text" > <option value="0" selected="selected">请选择角色</option> <#list roleList as role> <option value="${role.name}">${role.name}</option> </#list> </select> </td> </tr>
-----------------页面搜索框转换为下接列表框。
SQL LEFT JOIN 关键字
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
LEFT JOIN 关键字语法
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。
发表评论
-
关系型数据库三范式解释
2016-04-07 11:54 1286数据库 三范式最简单最易记的解释,整理一下方便大家记忆。 书上 ... -
java验证字符串中是否包含数字,对数字的操作
2016-03-15 11:01 9542在javascript中有一个方法 ... -
jdk7 Collections.sort()方法报非法参数异常
2016-03-03 18:57 12111JDK7的Comparison method violates ... -
Maven 中央仓库地址和lastUpdate文件删除
2016-03-01 13:46 8091Maven 中央仓库地址: 1. http://mvnrep ... -
log4j.properties配置详解
2016-01-18 16:50 1329Log4J的配置文件(Configuration File)就 ... -
Java 日期时间 Date类型,long类型,String类型表现形式的转换
2015-12-24 17:35 3317Java 日期时间 Date类型,long类型,String类 ... -
Java读写文件中文乱码问题
2015-07-20 17:49 3006问题:在用Java程序进行读写含中文的txt文件时,经常会出现 ... -
json数据后台处理
2015-03-30 16:05 837JAVA解析JSON问题,怎么解析,急!! String j ... -
java中int 转String位数不够前面补零
2015-01-08 21:53 20044java 中int 转String位数不够前面补零 Stri ... -
java 中int 转String位数不够前面补零
2015-01-08 21:52 1772java 中int 转String位数不够前面补零 Stri ... -
jdbc properties文件配置
2014-05-05 21:33 1366前言 JDBC(Java Data Base Connecti ... -
Jquery中$.ajax()方法参数说明
2014-02-19 21:54 914url: 要求为String类型的参数,(默认为当前页地址)发 ... -
java常用命令
2014-02-19 20:22 733javac:Java编译器,将Java源代码换成字节 ... -
cxf_spring步骤略记
2013-08-20 08:37 938cxf_spring步骤略记 -
eclipse或是myeclipse导入项目的时 Some projects were hidden because they exist in the wor
2013-08-16 14:18 1330eclipse或是myeclipse导入项目的时 Some p ... -
eclipse移除validate检查
2013-07-01 16:14 1074eclipse移除validate检查 1,在project名 ... -
连接常用数据库的propreties
2013-05-31 08:36 1152# Mysql: datasource connectiong ...
相关推荐
在Ibatis中,多表查询是一项重要的功能,它允许我们处理复杂的数据库操作,例如一对多、多对一或一对一的关系。在这个例子中,我们将探讨如何使用Ibatis进行一对多的多表查询,以`book`和`user`两个表为例。 首先,...
在多表查询中,Ibatis 提供了多种方式来处理复杂的关联查询,包括一对一、一对多、多对一和多对多等关系。在这个例子中,我们将探讨如何在 Ibatis 中实现一对多的关系查询。 首先,我们创建了两个表:`book` 和 `...
本文将深入探讨如何在iBATIS中进行主子表查询,以及涉及到的相关技术如一对多关系、日志管理库log4j等。 首先,主子表查询是数据库设计中常见的场景,通常涉及到一个“父”表(主表)和一个或多个“子”表(从表)...
当我们需要进行多表查询时,iBatis提供了一种高效且易于管理的方式。本文将深入探讨iBatis在处理多表查询时的具体步骤和技巧。 ### 1. iBatis简介 iBatis 是一个基于Java的持久层框架,它简化了数据库访问,并避免...
多表查询通常涉及到 JOIN 操作,例如内连接(INNER JOIN)、左连接(LEFT JOIN)等,这些操作可以帮助我们从多个相关联的表中获取所需的数据。 #### 三、多表查询示例分析 根据提供的部分代码,我们可以看到一个多...
ibatis配置多表关联(一对一、一对多、多对多
### 操作数据库iBATIS查询详解 #### 一、iBATIS中的LIKE查询技巧 iBATIS是一款优秀的Java持久层框架,它简化了基于SQL的程序编写,避免了程序员手动处理结果集和手工编写SQL语句。在进行数据库查询时,LIKE查询是...
在XML映射文件中,你可以使用标签或在标签内直接编写JOIN语句,以实现多个表的数据联合查询。记得在Mapper接口中定义对应的方法。 6. **Service层和DAO层**: 在实际项目中,我们通常会创建Service层来封装业务...
这里使用了LEFT JOIN来连接`t_depart`和`t_class`表,获取所有部门及其关联的班级信息。 4. **Mapper接口方法**: 在`DepartMapper`接口中,对应上述XML中的`selectDepartWithClasses`,定义一个方法,例如: `...
iBatis 动态查询条件详解 iBatis 是一个基于 Java 的持久层框架,它提供了动态查询条件的功能,可以根据不同的条件生成不同的 SQL 语句。在 iBatis 中,动态查询条件是通过 `<dynamic>` 元素来实现的,该元素可以...
### ibatis的动态查询知识点详解 #### 一、模糊查询 **知识点1:** 在进行模糊查询时,ibatis支持两种不同的语法标记:`#` 和 `$`。 1. **使用 `$value$` 进行模糊查询:** - 在进行模糊查询时,使用 `$value$` ...
Source Database : ibatis_db Target Server Type : MYSQL Target Server Version : 50022 File Encoding : 65001 Date: 2013-05-02 22:49:28 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- --...
在Ibatis中,复杂查询通常涉及到多个表的联接、条件动态拼接、子查询以及各种数据类型的处理。文档"Ibatis复杂查询语句.doc"所展示的查询语句就是一个很好的例子,展示了Ibatis如何处理复杂的数据库操作。接下来,...
例如,假设我们有一个部门表DEPARTMENTS,包含ID(主键)、PARENT_ID(父ID)和NAME(部门名称)字段,可以使用以下SQL语句进行树形查询: ```sql SELECT level, connect_by_root id AS root_id, id, name FROM ...
### ibatis and和or联合查询知识点 #### 一、ibatis简介 ibatis是一个支持普通SQL查询、存储过程以及高级映射的优秀开源数据访问框架。ibatis消除了几乎所有的JDBC对象操作,提供了一个简单的基本API,它通过XML或...
本教程聚焦于如何使用Ibatis查询指定ID的单个对象,这对于日常的数据检索工作尤为重要。 首先,理解Ibatis的基本架构。Ibatis不是一个完整的ORM(对象关系映射)框架,而是介于SQL和Java之间的桥梁,允许开发者编写...
【标题】:深入理解iBATIS的查询机制 【描述】:本文将详细解析iBATIS框架中的查询功能,包括处理复杂对象关系、XML映射和数据集操作,旨在帮助开发者充分利用iBATIS进行高效数据库操作。 【标签】:iBATIS、查询...
在Ibatis中,我们可以通过`<resultMap>`标签定义映射关系,然后在SQL查询中使用`<association>`标签来获取关联的数据。 2. **一对多映射**:如果一个表的数据对应另一个表的多条记录,例如订单表和订单详情表,一个...
在本资源中,"iBatis条件查询"着重展示了如何根据业务需求定制SQL语句进行数据检索,尤其在不涉及复杂关联查询的情况下,iBatis可以提供高效且简单的解决方案。 首先,iBatis的核心概念是SQL Map,它是一个XML配置...