`
百卉含英
  • 浏览: 26814 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mybatis传值方式

 
阅读更多

Mabatis 传参方式

1) @Param注解传参法,#{}里面的名称对应的是注解@Param括号里面修饰的名称。 eg:

public User selectUser(@Param("userName") String name, int @Param("deptId") deptId);

<select id="selectUser" resultMap="UserResultMap">

select * from user

where user_name = #{userName} and dept_id = #{deptId}

</select>  

 

在参数不多的情况下,这种传参方式比较推荐  

 

 

2)Map传参方法

public User selectUser(Map<String, Object> params);

<select id="selectUser" parameterType="java.util.Map" resultMap="UserResultMap">

select * from user

where user_name = #{userName} and dept_id = #{deptId}

</select>

#{}里面的名称对应的是Map里面的key名称。

这种方法适合传递多个参数,且参数易变能灵活传递的情况,比如用于insert sql中  

 

3)Java Bean传参法

public User selectUser(Map<String, Object> params);

<select id="selectUser" parameterType="com.test.User" resultMap="UserResultMap">

select * from user

where user_name = #{userName} and dept_id = #{deptId}

</select> 

#{}里面的名称对应的是User类里面的成员属性。

 

Note 关于mybatis中#{}和${}的一些使用的区别

1.#相当于作为参数传入的;$相当于直接作为sql拼接。

2.#在很大程度上可以防止sql注入;$无法防止sql注入。

3.$一般用于传数据库对象,比如表名等。

4.Mybatis排序时候,使用order by动态参数时,使用$。

5.like查询eg: AND lessonPlan like CONCAT('%', #{lessonTheme}, '%')

分享到:
评论

相关推荐

    mybatis like传值

    本文将针对提供的四种不同的MyBatis LIKE传值方式展开详细分析,并探讨每种方式的特点、适用场景以及可能遇到的问题。 #### 方式一:使用CONCAT函数进行字符串拼接 ```xml != null"&gt; and u.userName like CONCAT...

    Spring+SpringMVC+MyBatis+Maven+easyUI整合代码(2017年4月12日)

    MyBatis允许开发者编写SQL语句,通过XML或注解的方式将SQL与Java代码绑定,从而实现了动态SQL和数据访问的便捷性。在SSM整合中,MyBatis作为ORM(对象关系映射)工具,处理数据库CRUD操作,与Spring结合可以实现事务...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符统一进行转义处理的代码

    特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)

    Mybatis自定义拦截器,对模糊查询传值的特殊字符(\,_,%)统一进行转义处理的代码

    代码包含: EscapeUtil.java:特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%...

    Springboot-mybatis读写分离

    本项目“Springboot-mybatis读写分离”正是基于SpringBoot和Mybatis框架实现这一功能的示例代码,适用于个人的Docker环境进行测试。以下是关于这个主题的详细知识点: 1. **SpringBoot**: SpringBoot是由Pivotal...

    Mybatis在Mapper.xml文件中的转义字符处理方式.pdf

    Mybatis是一个流行的Java持久层框架,它通过XML或注解的方式,将对象与数据库中的表进行映射,实现数据库操作的自动化。在Mybatis框架中,Mapper.xml文件是定义SQL映射的关键组件,它允许开发者编写SQL语句并执行...

    1.springbood+mybatis项目demo2.mybatis自定义枚举类型的转换器以及各种使用场景

    MyBatis通过XML或注解的方式将SQL语句配置到Mapper接口中,使得SQL与代码分离,更加易于维护。 在这个项目中,我们关注的重点是MyBatis的自定义枚举类型转换器。在实际开发中,枚举类型常常被用于表示固定的一些...

    本科毕业设计+利用springboot+mybatis打造一个简易的客户管理系统,前后端分离

    Jquery(ajax传值) HTML 本科毕业设计+利用springboot+mybatis打造一个简易的客户管理系统,前后端分离 本科毕业设计+利用springboot+mybatis打造一个简易的客户管理系统,前后端分离 本科毕业设计+利用...

    Mybatics增删改查以及map传值Object传值的实现

    总结,MyBatis的CRUD操作结合Map和Object传值方式,为Java开发者提供了高效、灵活的数据访问接口。无论是简单的增删改查还是复杂的业务逻辑,都能轻松应对。在实际项目中,根据具体需求选择合适的参数传递方式,可以...

    Mybatis调用PostgreSQL存储过程实现数组入参传递

    通过这种方式,MyBatis就能正确地调用PostgreSQL存储过程,并将Java数组传递给存储过程。这种自定义类型处理器的方法使得MyBatis能够灵活地处理各种数据库特有的数据类型,确保了跨数据库平台的兼容性和灵活性。 ...

    mybatis入门

    ### MyBatis 入门与基础配置 ...通过以上详细介绍,我们可以看到MyBatis提供了一种非常灵活的方式来处理数据库操作,尤其适合需要对SQL语句有精细控制的场景。同时,它还提供了丰富的配置选项来满足不同的应用场景。

    maven+springmvc+mybatis+ajax实现增删查改和登录

    MyBatis通过XML或注解的方式配置映射,使得数据访问更加直观,同时支持动态SQL,提高了开发效率。 4. **Ajax**:Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许页面在不重新加载整个页面...

    springboot+mybatis

    在IT行业中,SpringBoot和MyBatis是两个非常流行的开源框架,它们在开发Java Web应用程序时起到了关键作用。SpringBoot简化了Spring应用的初始搭建以及配置过程,而MyBatis则是一个优秀的持久层框架,提供了SQL映射...

    基于jeesite的springmvv mybatis shiro html5项目

    MyBatis是一个优秀的持久层框架,它简化了数据库操作,允许开发者用SQL语句直接操作数据库。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。它支持动态SQL,使得在处理复杂查询时更加方便。MyBatis...

    ssm+tiles框架,前后台传值与获取值(json)

    在"ssm+tiles框架,前后台传值与获取值(json)"的场景中,我们将讨论如何在这些框架下进行数据的传递,特别是利用JSON格式进行数据交换。 首先,我们需要确保所有必要的jar包已经包含在项目中。这包括Spring的核心...

    mybatis 模糊查询的实现方法

    在MyBatis中,模糊查询是一种常见的查询方式,特别是在数据搜索和过滤时非常有用。本文将详细介绍如何在MyBatis中实现模糊查询。 首先,我们要理解MyBatis中`#`和`$`的区别,这是在编写动态SQL时的关键点。`#`符号...

    MyBatis直接执行SQL的工具SqlMapper

    MyBatis是一个流行的持久层框架,它提供了一个灵活的方式来交互数据库。然而,在某些情况下,我们可能需要直接执行SQL语句来实现某些复杂的数据库操作。这时,MyBatis提供了一个工具SqlMapper来实现这种需求。 Sql...

    MyBatis执行动态SQL的方法

    但是,随着业务的复杂化,我们需要使用参数方式传值,例如(enabled = #{enabled})来代替硬编码的值。这时,我们可以使用MyBatis的动态SQL功能,例如:&lt;select id="executeSql" resultType="map"&gt; ${sql}然后,在接口...

    Mybatis传递多个参数的三种实现方法

    Mybatis是一款流行的持久化框架,它提供了多种方式来传递多个参数,在实际开发中,我们经常会遇到需要传递多个参数的情况,本文将介绍Mybatis传递多个参数的三种实现方法。 第一种实现方法:使用占位符 在Dao层的...

    SSM+Echart图表实例

    这个实例展示了如何在Java Web应用中利用这三个技术来高效地处理数据并以图形化方式展示出来。以下是对这些技术及其整合过程的详细说明。 **Spring MVC** 是一个基于Spring框架的模型-视图-控制器(MVC)架构,它为...

Global site tag (gtag.js) - Google Analytics