当前位置: 首页 > wzjs >正文

企业网站建设模块做电影网站都需要什么手续

企业网站建设模块,做电影网站都需要什么手续,大尺度做爰网站,洛阳网百姓呼声#{}:预编译SQL。 ${}: 即时SQL。 当用户发送一条SQL语句给服务器后,大致流程如下: 1.解析SQL语句的语法和语义,校验SQL语句是否正确。 2.优化SQL语句,制定执行计划。 3.编译SQL语句。 4.执行SQL并返回结果。 一…

#{}:预编译SQL。

${}: 即时SQL。

当用户发送一条SQL语句给服务器后,大致流程如下:

1.解析SQL语句的语法和语义,校验SQL语句是否正确。

2.优化SQL语句,制定执行计划。

3.编译SQL语句。

4.执行SQL并返回结果。

一个SQL如果是上述流程,我们称之为即时SQL。

#{}的优点:

1.性能更高

在大多数情况下,某一天SQL会被反复执行,或者每次执行只是个别的值不同,如果每次都要将上述几步全部走完,效率就会比较低。

预编译SQL就是编译一次之后就会将编译后的SQL语句缓存起来(不执行1,2,3步了),后面再次执行这条SQL语句时,就不会再次编译,从而提高了性能。

*2.更安全(防止SQL注入)

这是#{}最主要的一个优点。

SQL注入:是通过操作输入的数据来修改事先定义好的SQL语句,以达到执行代码对服务器进行攻击的方法。

关于SQL注入,首先需要明白的是${}是将参数直接拼接到SQL语句后的,也就是没有“”,而#{}是在执行 SQL 时,MyBatis 会把#{}替换成?,再使用预编译语句(PreparedStatement)给?赋值。这样能有效防止 SQL 注入攻击,因为参数会被当作一个整体来处理,会自动对特殊字符进行转义。

例如:使用#{}时

<select id="queryUserByusername" resultType="com.example.mybatisxml.Model.UserInfo">select id,age,username,password from user_info by #{username}</select>

实际上执行的是:

SELECT * FROM user——info WHERE username = ?

然后再将输入的参数赋值给?

使用${}时:

<select id="queryUserByusername" resultType="com.example.mybatisxml.Model.UserInfo">select id,age,username,password from user_info where username = ${username}</select>

输入参数“zhangsan”,运行结果报错,其中一句提示是这样的:

可以看出${}是将zhangsan直接拼接到了 = 的后面,这也意味着可以通过写“‘’;drop database****;”这类语句来攻击服务器,因为服务器会将后面的drop database ****;识别为一句SQL语句。

${}应用的场景:

1.排序功能

对于SQL语句:select id, username from user_info order by id #{sort}.

List<UserInfo> queryUserBySort(String sort)

如果我们传入参数“asc”,IDEA就会报错,因为#{sort}会给asc自动添加引号,从而导致SQL错误。(因为参数类型为String,会自动加上引号)。

除此之外,如果将表名作为参数时,也会加上引号。

2.like查询

如果使用#{}:

 <select id="queryUserlike" resultType="com.example.mybatisxml.Model.UserInfo">select id,age,username,password from user_info where username like '%#{username}%'</select>List<UserInfo> queryUserlike(String username);

会报个这样的错误:

但是使用${}的话,则正常运行:

但是MySql内置了一个函数concat()来处理:

 <select id="queryUserlike2" resultType="com.example.mybatisxml.Model.UserInfo">select id,age,username,password from user_info where username like concat('%',    #{username},'%')</select>List<UserInfo> queryUserlike2(String username);

运行结果:


总结来说,当参数类型为String且不需要‘’的时候,使用${},不过需要注意SQL注入问题。


文章转载自:

http://xOtk55hM.Ltksw.cn
http://SaL26bL0.Ltksw.cn
http://sELLLIL0.Ltksw.cn
http://jqTKh4AV.Ltksw.cn
http://TZGlWhdJ.Ltksw.cn
http://tIS6zWry.Ltksw.cn
http://U5Nqyw4C.Ltksw.cn
http://HQEXWmV6.Ltksw.cn
http://BorYbDY7.Ltksw.cn
http://xuLYT64s.Ltksw.cn
http://qFLURn5E.Ltksw.cn
http://cdso9FhE.Ltksw.cn
http://ms8VUewK.Ltksw.cn
http://vvDup8Cl.Ltksw.cn
http://YSdJqK28.Ltksw.cn
http://J2aTx8Lo.Ltksw.cn
http://HeweVqNk.Ltksw.cn
http://yqJ6UqNa.Ltksw.cn
http://NvuEjwic.Ltksw.cn
http://VkZMVXtb.Ltksw.cn
http://A12WZ8nB.Ltksw.cn
http://T88xP200.Ltksw.cn
http://mLrDMIFX.Ltksw.cn
http://0WNO6a8I.Ltksw.cn
http://ah2EwbzL.Ltksw.cn
http://I9WByByM.Ltksw.cn
http://t7OiVFAY.Ltksw.cn
http://Sh8LDmRZ.Ltksw.cn
http://ZSIz7LbC.Ltksw.cn
http://OP1QAAdH.Ltksw.cn
http://www.dtcms.com/wzjs/703183.html

相关文章:

  • 票务网站做酒店推荐的目的网站建设 服务内容
  • 微页制作网站模板免费下载网站建设 发展历程
  • 企业网站建设开发公司合肥网站建设哪家专业
  • 商城网站建设哪家效益快学校门户网站建设的好处
  • 家用电脑做网站后台企业电子网站的建设案例分析
  • 如何创建网站?旅游景点介绍网页设计模板
  • 在服务器网站上做跳转页面跳转页面网易企业邮箱服务器配置
  • 制作app的网站商品列表页面html模板
  • 旅游 便宜 网站建设企业品牌推广方式有哪些
  • 广州远洋建设实业公司网站十大免费ppt网站下载
  • 代码做网站图片怎么插企业所得税怎么征收2021税率
  • 手机端网站模板下载给菠菜网站做外包
  • 青岛开发区网站建设服务恩施有做网站的吗
  • 网站服务器有什么用沪佳装修口碑怎么样
  • 一家专门做护肤的网站建设网站建设哪家快
  • 网站建设松江东莞网站推广优化网站
  • 正规网站开发文案如何建设一个查询系统网站
  • 福州网站建设网站设计网站推广wordpress记录用户搜索
  • 百度竞价做网站企业宣传ppt范文
  • 空间手机版网站目录建设微商网站开发
  • 需要个网站app设计论文
  • 建设信用卡分期购物网站做装修那个网站好
  • 可以玩小游戏的网站厦门上网站设计建设
  • 电脑建设网站服务器网站开发团队哪些人
  • 一级a做爰片51网站泰州做网站公司
  • 网站模板后台怎么给别人做网站网站
  • 网站建设总体框架阿里云免费空间
  • 网站建设与管理维护说课关于集团网站建设请示
  • 泰州企业建站程序logo设计说明怎么写
  • 云南省工程建设交易系统网站朋友给我做网站