mybatis中的標籤使用說明
- <?xmlversion="1.0"encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
- <mappernamespace="SHIRO_SpecSql">
- <!-- 獲得這個使用者所有的選單許可權 -->
-
<selectid="searchSingleUserMenuAuthorities"parameterType="java.lang.String"
- select
- name name,
- ht_authority_id htAuthorityId,
- (select ${uid} from dual ) currentUserId
- from ht_authority
- where pid = 0
- </select>
-
<resultMaptype="com.sailod.shiro.dto.HtAuthorityMenuDTO"id="OneMenuAuthority"
- <idproperty="htAuthorityId"column="htAuthorityId"javaType="java.lang.Long"/>
- <resultproperty="name"column="name"javaType="java.lang.String"/>
- <resultproperty="currentUserId"column="currentUserId"javaType="java.lang.Long"/>
-
<collectionproperty="htAuthorityDTO"
- select="selectAuthority"column="{htAuthorityId2 = htAuthorityId ,currentUserId2 = currentUserId}">
- </collection>
- </resultMap>
- <selectid="selectAuthority"parameterType="java.util.HashMap"resultType="com.sailod.shiro.dto.HtAuthorityDTO"resultMap="OneAuthority">
- select ha.name name,
- ha.url url ,
- ha.ht_authority_id htauthorityid,
- ha.pid pid,
- ha.type type,
- ha.permission permission,
- hua.ht_user_id currUserId
- from ht_authority ha
- left join ht_user_authority hua on hua.ht_authority_id = ha.ht_authority_id
- where ha.pid = ${htAuthorityId2}
- and ha.type = 'menu'
- and hua.ht_user_id = ${currentUserId2}
- </select>
- <resultMaptype="com.sailod.shiro.dto.HtAuthorityDTO"id="OneAuthority">
- <idproperty="pid"column="pid"javaType="java.lang.Long"/>
- <resultproperty="name"column="name"javaType="java.lang.String"/>
- <resultproperty="url"column="url"javaType="java.lang.String"/>
- <resultproperty="type"column="type"javaType="java.lang.String"/>
- <resultproperty="permission"column="permission"javaType="java.lang.String"/>
- <resultproperty="htAuthorityId"column="htauthorityid"javaType="java.lang.Long"/>
- <resultproperty="currUserId"column="currUserId"javaType="java.lang.Long"/>
- </resultMap>
- </mapper>
<resultMap>其實就是返回型別為其引用的id的 標籤所定義的。
<collection> 往這個標籤定義的 ‘類’ 的 list 屬性中設定值, 如何設定值? 還要根據其 select="selectAuthority" , 把值查詢出來。
- package com.sailod.shiro.dto;
- import java.util.List;
- /**
- * 查詢選單用到dto
- *
- *
- */
- publicclass HtAuthorityMenuDTO {
- private String name;
- private Long htAuthorityId;
- private Long currentUserId;
- private List<HtAuthorityDTO> htAuthorityDTO;
- public Long getHtAuthorityId() {
- return htAuthorityId;
- }
- publicvoid setHtAuthorityId(Long htAuthorityId) {
- this.htAuthorityId = htAuthorityId;
- }
- public String getName() {
- return name;
- }
- publicvoid setName(String name) {
- this.name = name;
- }
- public List<HtAuthorityDTO> getHtAuthorityDTO() {
- return htAuthorityDTO;
- }
- publicvoid setHtAuthorityDTO(List<HtAuthorityDTO> htAuthorityDTO) {
- this.htAuthorityDTO = htAuthorityDTO;
- }
- public Long getCurrentUserId() {
- return currentUserId;
- }
- publicvoid setCurrentUserId(Long currentUserId) {
- this.currentUserId = currentUserId;
- }
- }
- package com.sailod.shiro.dto;
- /**
- * 查詢選單用到dto
- *
- *
- */
- publicclass HtAuthorityDTO {
- //這個許可權的主鍵
- private Long htAuthorityId;
- //父選單的主鍵
- private Long pid;
- private String name;
- private String url;
- //型別
- private String type;
- private String permission;
- private Long currUserId;
- public String getName() {
- return name;
- }
- publicvoid setName(String name) {
- this.name = name;
- }
- public String getUrl() {
- return url;
- }
- publicvoid setUrl(String url) {
- this.url = url;
- }
- public Long getHtAuthorityId() {
- return htAuthorityId;
- }
- publicvoid setHtAuthorityId(Long htAuthorityId) {
-
相關推薦
mybatis中sql標籤、where標籤、foreach標籤用法
<sql id="query_user_where"> <!-- 如果 userQueryVo中傳入查詢條件,再進行sql拼接--> <!-- test中userCustom.username表示從userQueryVo讀取屬性值--> &l
Mybatis中if標籤中的整型判斷問題
用mybatis進行資料修改的時候,age屬性沒有賦值,但是我使用update的時候age這個屬性也被修改了。age屬性是一個int型別。 <set> &
Mybatis中trim標籤的用法
select * from t_user <trim prefix="WHERE" prefixOverrides="and"> <if test="roleName != null and roleName != ''"> AND role_name=#{roleName}<
mybatis中動態sql的trim標籤的使用
trim標籤是一種格式化的標記,可以完成set或者是where標記的功能,程式碼如下: 1、select * from user <trim prefix="WHERE" prefixoverride="AND |OR"> <if test="name != n
mybatis中if標籤判斷字串相等問題
mybatis 對映檔案中,if標籤判斷字串sfyx變數是否是字串Y的時候,發現並不管用: <if test="sfyx=='Y' "> and 1=1 </if> 當時就尋思著可能是字元和字串的問題,改成雙引號試
mybatis-config檔案中標籤的使用說明
在mybaits中,常用的setting的的配置引數如下(如果不在配置檔案中配置將使用預設值): <!-- settings是 MyBatis 中極為重要的調整設定,它們會改變 MyBatis 的執行時行為。 --> <settings> &l
MyBatis中的多表操作情形一:一對一(方式1:一條sql語句查詢,MyBatis3.0可以用association和collection標籤)
MyBatis支援多表操作,即可以將資料庫中多表的關係對映到物件之間的關係中 表與表之間的關係可以有:一對一,一對多,多對多 關係一演示案例:人和身份證是一對一的,分別建兩個表person和card,其中person的cardid欄位外來鍵關聯card的id,
Mybatis中 if標籤判斷字串
在做開發的時候遇到這樣一個問題:當傳入的type的值為y的時候,if判斷內的sql也不會執行。 <if test="type=='y'"> and status = 0 </if> 仔細想想:my
MyBatis中 sql語句中include標籤的使用
<!-- 1.先定義用於select查詢公用抽取的列 --> <sql id="columns"> id,name,sex,birth
mybatis中
和 標籤的巢狀使用 mybatis中和標籤的巢狀使用 實現功能 為了解決A實體類的其中一個私有屬性b,對應的是另一個實體類B的物件,查詢A的所有資訊; 需求 通過mybatis框架:查詢年級表下的所有班級的詳細資
mybatis中使用if標籤比較兩個字串是否相等
今日一坑 轉自:http://www.cnblogs.com/a8457013/p/8033549.html 問題: mybatis中,if標籤,when標籤中都會有條件判斷:test;如何判斷兩個字串是否相等 解決: <if test="dy != null and
mysql+mybatis 在mybatis一個標籤中,執行多條sql語句
然後在mybatis對映檔案中的標籤中,一般不能執行多條sql,如下: <insert id="addUser" parameterType="User" > insert into t_users (name,password,phone) values (#{na
MyBatis中使用bind標籤構造模糊查詢失敗的解決方法
下面的這個寫法為什麼不能成功: <select id="findUserByFuzzyEmail" resultMap="BaseResultMap" parameterTy
MyBatis中refid和trim標籤及其屬性的作用
一,refid 1、首先定義一個sql標籤,一定要定義唯一id<sql id="Base_Column_List" >name,age</sql> 2、然後通過id引用 <select id="selectAll"> select <incl
mybatis中的標籤實現批量新增
需求 使用Map集合,向emp表中批量新增資料。 表展示 欄位展示 第一步:建立dao層介面 package com.aaa.mb.dao; import java.util.List; import java.util.Map; /** * className:EmpDao
MyBatis中的對映檔案標籤屬性 parameterType
mybatis可以傳入的引數型別1.基本資料型別 可以通過#{引數名}直接獲取。每次只能傳入一個值<select id="selectTeacher" parameterType="int" resultType="com.myapp.domain.Te
mybatis中if標籤判斷字串相等
今日按需求在mapper.xml中修改完一條sql的條件,感覺很輕鬆,如下所示:<if test="companyId != null and companyId !='' "> <if test="companyFlag == '1'"> A
MyBatis中的和標籤的使用
MyBatis中<resultMap>的<association>和<collection>標籤的使用 之前就用到了很多次,因為公司裡架構設計表結構設計得很精細,
MyBatis中 sql標籤和include標籤的使用
<sql> 和 <include> <sql>用來封裝SQL語句, <include>來呼叫 程式碼片段:<sql id="select"&g
Mybatis中的trim標籤 介紹
使用過trim標籤都知道trim標籤有四個屬性 prefix,prefixOverrides,suffix,suffixOverrides 本人一直對這四個標籤的名字無法理解,並對其功能感到混亂。下面是自己思考後的一些總結: trim標籤使用 1、tr