Mybaits映射要点总结

mybatis映射

  1. 增删改查的普通映射,参数类似于el表达式
  2. resultMap对应实体类
  3. 高级映射中ResultMap:
    1. constructor 用于构造方法
    2. result 用于普通字段
    3. association 用于复杂类
    4. collection 用于复杂类集合
    5. discriminator 根据不同结果去映射不同元素
  4. 动态 SQL 类似于JSTL
  5. 类型映射关系

    JDBC Type Java Type
    CHAR String
    VARCHAR String
    LONGVARCHAR String
    NUMERIC java.math.BigDecimal
    DECIMAL java.math.BigDecimal
    BIT boolean
    BOOLEAN boolean
    TINYINT byte
    SMALLINT short
    INTEGER INTEGER
    BIGINT long
    REAL float
    FLOAT double
    DOUBLE double
    BINARY byte[]
    VARBINARY byte[]
    LONGVARBINARY byte[]
    DATE java.sql.Date
    TIME java.sql.Time
    TIMESTAMP java.sql.Timestamp
    CLOB Clob
    BLOB Blob
    ARRAY Array
    DISTINCT mapping of underlying type
    STRUCT Struct
    REF Ref
    DATALINK java.net.URL
  6. 在插入操作完成之后,参数Address的id属性就已经被赋值了,再在逻辑层利用Address.getId()获取就好。

    <insert id="insertAddress" parameterType="com.vadonmo.model.Address"
        useGeneratedKeys="true" keyProperty="id">
    </insert>
    1. #{}: 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符,一个 #{ } 被解析为一个参数占位符?
    2. ${}: 仅仅为一个纯碎的 string 替换,在动态 SQL 解析阶段将会进行变量替换。
      表名作为变量时,必须使用 ${}

猜你喜欢

转载自blog.csdn.net/vadonmo/article/details/79385569