没有形成体系的知识点

【name like"%"${name}"%"】

这里要用$,因为:

1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".
  
2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id,  如果传入的值是id,则解析成的sql为order by id.
  
3. #方式能够很大程度防止sql注入。
  
4.$方式无法防止Sql注入。

5.$方式一般用于传入数据库对象,例如传入表名.
  

6.一般能用#的就别用$.

来自:https://blog.csdn.net/kobi521/article/details/16941403



【mybatis if用法】

<if test='fwbdh != null and fwbdh == "BAK"'>
    fwbdh=#{fwbdh}
<if>

<if test="fwbdh != null and fwbdh != ''">
	<choose>  
		<when test='fwbdh.indexOf(",") != -1'>  
			AND t.FWBDH  in (${fwbdh}) 
		</when>  
		<otherwise>   
	        	AND t.FWBDH like '%'+#{fwbdh}+'%'  
		</otherwise>  
	</choose> 
</if>

来自:https://blog.csdn.net/xxlian1201/article/details/52759349/


扫描二维码关注公众号,回复: 1761233 查看本文章


【js执行,按钮模拟被单击】

$(function(){

    $("#btn").click();

})



【mybatis <>号不能用的问题】

1、转义字符串
小于号    <    &lt;
大于号    >    &gt;
    & &amp;
单引号    '    &apos;
双引号    "    &quot;
2、使用<![CDATA[  你的sql语句 ]]>(sql语句中的<where><if>等标签不会被解析)
 如:
 <![CDATA[
        select * from 
      (select t.*, ROWNUM as rowno from tbl_user t where ROWNUM <= #{page.end,jdbcType=DECIMAL}) table_alias
      where table_alias.rowno >#{page.start,jdbcType=DECIMAL}
     ]]>   

来自:https://www.cnblogs.com/zrbfree/p/5270060.html



【关于mybatis oracle分页问题】

SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (
你的sql语句
) A
WHERE <![CDATA[ ROWNUM <= 20  ]]>
)
WHERE <![CDATA[ RN >= 1 ]]>

来自:找不到了



【关于调用iframe和iframe调用父窗口的知识点】

  1. 格式:$('#父窗口中的元素ID', parent.document).click();  
  2. 实例:$('#btnOk', parent.document).click();  
  3. 子调父

  1. $("#iframe的ID").contents().find("#iframe中的控件ID").click();//jquery 方法1  
  2. 实例:$("#ifm").contents().find("#btnOk").click();//jquery 方法1 
  3. 父调子

iframe里面调用父的js //parent.findByNeed();

来自:https://www.cnblogs.com/alisonGavin/p/8315634.html


【关于ajax传值,后台接收乱码等,处理问题】

后台代码:URLDecoder.decode(area_code,"utf-8");

前台传值:encodeURI("sayHello?user.name=" + name)

知识点:1、利用encodeURI()在javascript中对中文URL参数进行编码时,“测试”二字会被转换为“%E6%B5%8B%E8%AF%95”

2、但是浏览器机制会认为“%”是一个转义字符,浏览器会把地址栏URL中的传递的已转换参数“%”与“%”之间的已转义字符进行处理传递到后台

Action中。这样会造成与实际经过encodeURI()编码后的URL不符,因为浏览器误认为“%”是转义字符字符了,它并未将“%”认为是个普通字符。

3、要使得通过encodeURI()转换后的URL被浏览器正常处理,必须在外层再用encodeURI()处理一次已被encodeURI()编码后的RUL。这此处

理encodeURI()会将已编码后的URL中被浏览器解析为转义字符的“%”再次进行编码,转换为普通字符。

4、正常处理后,前面javascript代码中②处代码为:window.location = encodeURI(encodeURI("sayHello?user.name=" + name));

5、处理后的URL不在是通过一次 encodeURI()转换后的字符串”%E6%B5%8B%E8%AF%95“,而是经过上一步两层encodeURI()处理URL处理后的

字符串”%25E6%B255%258B%25E8%AF%2595“,通过再次编码原有被浏览起解析为转义字符的”%“被再次编码,转换成了普通字符转”%25“。


URL编码及解码原理:由于我们利用URL传递参数这种方式是依赖与浏览器环境中的,也就是说URL及URL中包含的各个key=value格式的传递参数键

值对参数是在浏览器地址栏中的处理原理处理相应编码后传递至后台进行解码的。由于我们没有进行任何处理,此时javascript请求URL并传参数

存在中文时(也就是说输入框中输入中文时),对URL的中文参数进行编码是按照浏览器机制进行编码的。此时编码存在乱码问题。假设输入框中

输入的内容为“测试”二字,后台Action接受到的参数值为乱码。javascript中利用encodeURI()方法进行编码。


来自:https://blog.csdn.net/z435999799/article/details/75094786

猜你喜欢

转载自blog.csdn.net/selfTranscendence/article/details/80741383