我相信很多没有经验的人对mybatis的日常语法无能为力。因此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。
mybatis中的#和$的区别?
#模式可以在很大程度上防止sql注入。参数具有“”;
$方法不能阻止Sql注入。没有按原样分配“”;通常用于传入的数据库对象,如传入的表名、字段名、sql语句等。
![CDATA[ ]]关键标签
标记为纯文本。没有这个,字符就不能直接存储在XML中,需要进行转义。但是,有了这个标记,这些符号就可以存储在XML文档中而无需转义。
它可以避免意外的特殊符号导致XML解析错误。
sql语句块
sqlid='selectBasic '
选择*从
/sql
selectid=' selectLikeName ' parameter type=' string ' result type=' User '
include redfid=' select basic '/
wherenamelike#{name}
/选择
动态sql标签
!-如果标签-
iftest=''/if
!-选择而不是标记-
选择
when test=' date type=' WEEK '/when
否则
//到操作系统
/否则
/选择
!-在公共foreach循环中;项目对象-
foreachitem=' item ' collection=' status ' separator=',' open='('close=')'index='index '
#{item,jdbcType=TINYINT }
/foreach
!-主键是自己添加的,并分配给传入po类的主键id值-
insert id=' insert role ' parameter type=' role ' usegenerated keys=' true ' key property=' id '
插入t_role(role_name,note)值(#{roleName},#{note})
/insert
!-方便的修剪标记修剪取代了where/set标记-
!-使用if/trim代替where(判断参数)-将User类的非空属性作为where条件-
从a中选择*
trim prefix=' WHERE ' prefixoverrides=' AND | OR '
iftest='username!=null
u.usernameLIKECONCAT(CONCAT('% ',#{username,jdbcType=VARCHAR}),' % ')
/if
/trim
!-如果/trim替换set(判断参数)-更新User类的非空属性-
更新a
Trimprefix=' set '后缀overrides=','/trim看完上面的内容,你掌握了mybatis日常语法的什么方法了吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道。感谢阅读!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/38489.html