mybatis------xml的一些规范等

转与拼接:

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。  

在mybatis的xml配置文件中,有时可以看到<![  CDATA[   ]  ]>  ,表示不应由xml解析器进行解析的文本数据,

  早在xml中"<,>,&"等 都是非法的,"<"在xml解析中表示新元素开始,

  加了cdata[],里面内容会被解析器忽略,

 在实际使用中,一般将符号替换

 &lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; ' 省略号
&quot; " 引号

 

例子

resultMap表示结果集是集合类型,
resultType是直接表示返回类型的(对应着我们的model对象中的实体),而resultMap则是对外部ResultMap的引用(提前定义了db和model之间的隐射key-->value关系),
但是resultType跟resultMap不能同时存在。
parameterType设置是参数类型
<select id="currentDateData" resultType="Procurement" >
        select
        <include refid="allColumn" />
        from procurement 
        <where> <![CDATA[DATEDIFF(NOW(),createDate)<6 and DATEDIFF(NOW(),createDate)>0 ]]> </where>
        order by refreshDatetime   desc 
    </select>


################

<resultMap id="UserResultMap" type="com.xixicat.domain.UserInfo">
        <result property="id" column="id" />
        <result property="username" column="username" />
        <result property="sex" column="sex" />
    </resultMap>
<select id="getUserInfoMap" resultMap="UserResultMap">
   select id,username,sex from user_info
</select>



##################################

trim标识为格式化标识,可以与其他标识完成where和set的功能

prefix  前缀增加   suffix  后缀增加    prefixOverrides 自动判断前置   suffixOverrides 自动判断后置

接着来测试一下,在user.xml中添加

<update id="updateUserTrim" parameterType="User">
		UPDATE User 
      		<trim prefix="SET" suffixOverrides="," suffix="WHERE id = #{id}" >  
	    		<if test="userName != null and userName != '' ">  
            			userName = #{userName},
       	 		</if>
        		<if test="password != null and password != '' ">  
             			password=#{password},
        		</if>  
	  	</trim>



posted on 2016-11-20 16:44  大兴兴  阅读(2003)  评论(0编辑  收藏  举报

导航