Mybatis里的使用数据库语言时的#{}和${}

#{}

#{属性名}
values(?,?,?)
赋值方式时预编译,是安全的,可以防止sql的sql的注入
例如:

insert into admin (account,password,sex) values (#{account},#{password},#{sex})

#{} 占位符,是经过预编译的,编译好 SQL 语句再取值,#方式能够防止 sql 注入

${}

${属性}
values(‘wasd’,‘123’,‘男’)字符串拼接的,它是不安全的

这个是无法执行的

insert into admin (account,password,sex) values (${account},${password},${sex})

这样才可以执行

insert into admin (account,password,sex) values ('${account}','${password}','${sex}')

就是以字符串拼接的方式进行的,所以可以执行。加单引号传递进去的是值,不加传递进去的是列名

${}多是用于传列名,而不是传递数据,查询出来的是一列的数据

select $(one),$(two) from admin order by $(column)

是将column这一列的数据查询出来

$ {} 拼接符,会传入参数字符串,取值以后再去编译 SQL 语句,$方式无法防止 Sql 注入 ${}

注意:MyBatis 排序时使用 order by 动态参数时需要注意,用$而不是#

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MybatisX是一个用于辅助开发MyBatis的插件,它提供了一些便捷的功能来设计数据库操作语言。下面是使用MybatisX设计数据库操作语言的简要步骤: 1. 安装MybatisX插件:首先,在你使用的开发工具(如IntelliJ IDEA),安装并启用MybatisX插件。 2. 创建或导入数据库:确保你有一个数据库,可以使用MySQL、Oracle等任意数据库。你可以使用命令行工具或者图形化工具创建或导入数据库。 3. 配置数据源:在你的项目,配置数据库连接信息,包括数据库URL、用户名、密码等。这通常在项目的配置文件完成,如application.properties或application.yml。 4. 创建实体类:使用Java类来映射数据库表结构,每个实体类对应一个数据库表。确保实体类的属性与数据库表的字段一一对应。 5. 创建Mapper接口:创建一个Java接口,用于定义数据库操作的方法。每个方法对应一个SQL语句,并使用注解或XML文件进行映射。 6. 使用MybatisX生成SQL语句:在你的Mapper接口使用MybatisX插件提供的功能,例如自动生成SQL语句、快速定位到SQL语句等。 7. 编写业务逻辑:在你的业务代码,调用Mapper接口定义的方法来执行数据库操作,例如插入、查询、更新等。 8. 测试和调试:运行你的程序,测试数据库操作是否正确。如果遇到问题,可以使用MybatisX插件提供的调试功能来定位问题。 请注意,这只是一个简要的概述,具体的步骤和配置可能因项目而异。建议参考MybatisX的文档和示例代码来更详细地了解如何使用该插件进行数据库操作语言的设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值