zoukankan      html  css  js  c++  java
  • 02-Mybatis

    1.Map集合

    如果,字段名或者数据库中的表过多,可以使用map集合进行对实体类的传值,这样的话,在传值时只需要对应map的键名,不需要知道数据库中字段的名字

    前:

    <insert id="insertUser" parameterType="com.neusoft.entity.User">
    insert into users(id,name,password,email) values(#{id},#{name},#{password},#{email})
    </insert>
    后:
    <insert id="insertUser" parameterType="com.neusoft.entity.User">
    insert into users(id,name,password,email) values(#{userid},#{username},#{userpassword},#{useremail})
    </insert>

     2.面试题:mybatis中#{}与${}的区别?

    (1)#{}是占位符的意思,其中参数的名字可以任意取

    (2)#{}在传值时会将{}中的值自动加上“”

    (2)#{}能在很大程度上防止sql注入

    (3)${}是用来拼接字符串的

    (4)${}只能写value ${value},即将{}中的值直接显示在sql语句中

    (5)${}不能防止sql注入

    (6)${}这种方式大部分用来传入数据库对象,例如表名之类,不含表内信息的内容,不过能用#就不要用$

    3.关于parameterType的写与不写以及写什么的说明

    如果是使用map传参,parameterType=“map”

    如果传递的时实体类或其他引用类型参数 parameterType=“object”

    如果参数是一个一个基本数据类型,则parameterType可以略写,因为sql可以直接取到

    4.模糊查询

    推荐方式:

    select * from users where name like #{name}
    List<User> list= mapper.getUserLike("%睿%");
  • 相关阅读:
    linux下使用kermi续
    关于vhdl中integer消耗资源的一些讨论
    linux时间编程
    Linux下C编程文件编程
    C语言I博客作业04
    C语言I博客作业02
    C语言I博客作业02
    第一周作业
    php 面向对象
    php 面向对象封装和继承
  • 原文地址:https://www.cnblogs.com/rongrui/p/13548943.html
Copyright © 2011-2022 走看看