Mybatis 点点滴滴

Posted 码上猿梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis 点点滴滴相关的知识,希望对你有一定的参考价值。

1 . 类属性和表字段的自动对应

     当向数据库中插入一行数据时,<insert>标签中的占位符#{}中的占位符的值写 model 类的属性名,但是要保证数据库中的字段名和属性名要一致,属性可以多余数据表的字段,但是不能少。这也是约定高于配置。

<!-- 添加用户 -->
    <insert id="insertUser" parameterType="com.msym.beans.User">
        <selectKey keyProperty="id" resultType="Integer" order="AFTER">
            select LAST_INSERT_ID()
        </selectKey>
        insert into user (username,birthday,address,sex) 
        values (#{username},#{birthday},#{address},#{sex})
    </insert>

User 类的属性:

private static final long serialVersionUID = 1L;
    private Integer id;
    private String username;// 用户姓名
    private String sex;// 性别
    private Date birthday;// 生日
    private String address;// 地址

2 . 自动获取自增主键

      在第一点中,添加用户时,在<insert>标签中还有一个标签<selectKey>标签,这个标签用户获取当前插入数据的主键值,比如 user 表中的主键 id 是自增长的 int 类型,因为采用的数据库是 mysql ,在 mysql 中 int 类型自增主键是先插入数据,然后生成主键,所以在 order 属性中填写的是 after,而不是 before,如果使用的数据库是 oracle ,就得使用 before,因为 oracle 采用的策略是先生成自增主键,然后在插入数据。

这样配置后,之前添加到数据库中的对象就具有了主键了,可以操作其他关联到的表了。

以上是关于Mybatis 点点滴滴的主要内容,如果未能解决你的问题,请参考以下文章

markdown [mybatis参考]关于mybatis #mybatis的一些片段

mybatis学习(39):动态sql片段

SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper

mybatis动态sql片段与分页,排序,传参的使用

MyBatis动态SQL标签用法

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段