idea使用mybatis来实现MySQL数据库查询的一些语法 (学生笔记整理(*^__^*) )

本文是学生整理的关于在Idea中使用MyBatis进行MySQL数据库查询的学习笔记,详细介绍了如何构建环境,包括创建Maven项目、搭建MyBatis环境、连接数据库,并讲解了在mapper中传递多个参数的方法,如使用@Param注解、占位符#{0}, #{1}以及Map集合。同时,对比了#{}和${}的区别,强调了在传列名时应使用${},并提醒在使用#{}时会将参数自动加上引号,避免SQL注入问题。" 122381188,9643923,禅道测试模块操作指南:用例执行与Bug转换,"['软件测试', '测试管理', '禅道', '测试用例']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先构建好环境

    1.创建Maven项目
    2.搭建MyBatis环境
    3.连接一个MySql的DataBase
    4.再检查一遍配置文件有没有写对

mapper中传递多个参数(学过的…)

    1.使用@Param注解来指定名称

/**
* 接口中的方法如下
*@param userName用户名
*@param password 密码
*/
List <User> selectUserByUserNameAndPassword(@Param(“userName”)String userName
,@Param(“Password”) String password);

    @Param指定了两个参数名字userName 和 Password 在mapper映射文件中映射方法如下

<select id=“selectUserByUserNameAndPassword”  resultType=“User”>
    SELECT * FROM smbms_user
    Where userName = #{userName}
    and Password = #{Password}
</select>

    2.在映射文件使用#{0},#{1}等占位符

    映射文件代码如下

<select id=“selectUserByUserNameAndPassword”  resultType=“User”>
    SELECT * FROM smbms_user
    Where userName = #{0}
    and Password = #{1}
</select>
/**
* #{0} 和 #{1} 的值就是调用方法时实参的第一个值和第二个值
*/

    3.使用Map集合传入参数

<select id=“selectUserByUserNameAndPassword”  resultType=“User”>
    SELECT * FROM smbms_user
    Where userName = #{name}
    and Password = #{password}
</select>
/**
* #{name} 和 #{password} 对应的是集合键(key)的名称
*/

#{}和${}区别

    1.使用#{}传值时

/**
* 假设第一个参是 admin
* 第二个参是 pwd123456
*/
<select id=“selectUserByUserNameAndPassword”  resultType=“User”>
    SELECT * FROM smbms_user
    Where userName = #{0}
    and Password = #{1}

</select>

上面加粗sql语句就是下面这样

    SELECT * FROM smbms_user
    Where userName = "admin"

    and Password = "pwd123456"

    2.使用${}传值时

/**
* 假设第一个参是 admin
* 第二个参是 pwd123456
*/
<select id=“selectUserByUserNameAndPassword”  resultType=“User”>
    SELECT * FROM smbms_user
    Where userName = ${0}
    and Password = ${1}

</select>

上面加粗sql语句就是下面这样

    SELECT * FROM smbms_user
    Where userName = admin

    and Password = pwd123456

3.使用#{}传列名

    SELECT * FROM smbms_user
    Where userName = "admin"

    Order By "id"

发现列名有个双引号,这会异常;
列名可以不写符号, 写的话就要用`` ps两个小撇不是单引号

总结:

1.能用#{}传值就尽量用#{}传值

2.传入表或者列时要用${}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值