• MyBatis映射示例


    resultMap 返回结果的映射



    resultMapid是这个映射的名字,可在查询语句中引用表示此查询返回该结果:


    t

    ype是模型对象的类名,也可以写成别名(简化作用)



    简化成别名时,需要先注册别名:


    resultMap内部

    <id>标签表示该查询中涉及的主键的映射关系

    <result>标签表示普通数据属性或字段的映射关系

    property表示数据模型类中的属性名


    column表示数据表中的字段名


    <select> 表示使用select语句查询数据的方法

    id属性与Dao中的方法相同!

    resultMap表示返回结果(因为返回的数据对象可能很复杂,因些需要单独设置映射)

    parameterType表示传入参数类型(利用HashMap可以传入一组参数)


    SQL语句中的标签

    JSTL非常相似

    <trim>一行的意思是此处会生成一个Where子句(prefix规定的)

    如果该子句在组合过程中产生了多作的AND|OR,则trim会把多作的去掉

    以保证SQL语句的正确性

    <if>会测试相应的条件是否成立,成立则if中的表达式进入SQL语句,否则忽略

    通过<if>可以动态拼接SQL表达式!


    ${ } 与 #{ } 两者有很大的区别!

    ${ }是替换性质的,如sortProperty的值将会出现在 ${ sortProperty } 的位置

    因此有SQL注入的风险

    #{ }会变成SQL语句中的 ? 参数,? 参数没有注入风险。

    如果传入到<select>中的数据是SQL语句的字段名或运算符、关键字,则只能使用${ }

    因为使用 #{ } 会变成 ? ,将会造成SQL语法错误

    order by ? ? 是错误的,因为order by后面应该跟


    列名 之后是 排序方向的关键字 ,不能是 ?


    <insert> 表示插入数据的方法

    如果数据库中有自增Id,而且还希望在插入数据之后获得新插入的Id值,则需要添加

    useGeneratedKeys=”true” keyProperty=”主键名”

    执行成功后,可以通过


    student.getStudentId() 获取主键值,也就是主键值会填充到传入的对象中   更新数据


    删除数据

     

  • 相关阅读:
    图形设计 X11
    软件安装 RPM SRPM YUM
    如何将excel表格中的纯数字删掉 空白行,然后删除
    考试机
    程序编译与运行
    基础设定与备份策略
    开机流程 模块管理 Loader
    让所有Excel数据格全部乘 某个数
    转:JDK1.8-Stream()使用详解
    转:IK分词原理
  • 原文地址:https://www.cnblogs.com/yangxiansen/p/7860025.html
Copyright © 2020-2023  润新知