zoukankan      html  css  js  c++  java
  • Mybatis中#{}与${}的区别:

    一、Mybatis中#{}与${}的区别:

    • #{}是占位符,预编译处理;${}是拼接符,字符串替换,没有预编译处理。

    • Mybatis在处理#{}时,#{}传入参数是以字符串传入,会将SQL中的#{}替换为?号,调用PreparedStatement的set方法来赋值。

    • #{}可以有效的防止SQL注入,提高系统安全性;${}不能防止SQL注入。

    • #{}的变量替换是在DBMS中;${}的变量替换是在DBMS外。

    模糊查询语法:

    1、‘%${question}%’ 可能引起SQL注入,不推荐;

    2、“%”#{question}“%” 注意:因为#{…}解析SQL语句时候,会在变量外侧自动加单引号‘ ’,所有这里%需要使用双引号“ ”,不能使用单引号‘ ’,不然会查不到任何结果。

    3、concat(‘%’,#{question},‘%’)使用concat函数(推荐);

    4、使用bind标签(不推荐)。

    二、什么是DBMS?

    DBMS (DataBase Managment System),数据库管理系统。是一种操纵和管理数据库的大型软件,用于建立、维护和使用数据库,简称dbms。

    ​ 它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行进行数据库的维护工作。它可以使用多个应用程序和用户用不同的方法在同时或不同时刻去建立、修改和询问数据库。

     

  • 相关阅读:
    LINUX下 my.cnf php.ini的位置
    如何启动/停止/重启MySQL
    Windows下Git Bash中文乱码
    linux下忘记密码怎么办,如何重置密码
    如何在word里面插入目录
    git常见问题解决办法
    git配置global信息
    怎样把excel一列分成多列
    php中array_flip数组翻转
    笔记本电脑键盘字母和字母错乱怎样解决
  • 原文地址:https://www.cnblogs.com/javacyq/p/13944080.html
Copyright © 2011-2022 走看看