mybatis的常用常用场景--insert

注意mapper接口中的每一个函数,里面的参数都要通过@Param来取别名;

注意在mybatis里面,如果是模糊查询,需要用concat来拼接字符串

<select id="selectByPointAndTitleLike" resultType="net.xdclass.online_class.domain.Video">

    select * from video where point=#{point} and title like concat('%', #{title},'%')

</select>

返回的是一个List<> ,因此在mapper层里面,方法的返回值也需要定义为List<>
 <!--下划线自动映射驼峰字段-->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

配置在config.xml里面 

原理是mybatis在将数据库记录映射到类里面的时候,如果发现名称不一致,就会将_ 这种类型自动更改为大写字母,从而映射上去

里面的parameterType是指定传入参数的类型,一般在接口里面通过@Param取了别名,就不需要这个了;在参数里面的 #{Id,jdbcType=Integer} 是指定这个字段在数据库中的数据类型 

 

 insert相关语法

 语句末尾加了分号

 parameterType定义传入参数的类型,既video类,对每一个传入的参数需要用驼峰形式,同时指定其在数据库里面的数据类型;

 此时会将add方法与xml配置文件里面的sql记录对应起来,然后执行;

  • 如何获得插入的自增主键

    <insert id="add" parameterType="net.xdclass.online_class.domain.Video" useGeneratedKeys="true" keyProperty="id" keyColumn="id" >

useGeneratedKeys 指定是否使用自增主键,keyProperty java实体类里面自增主键的名称,keyColumn数据库里面的名称;

批量插入的语法:

insert into table(col1,col2) values (1,1),(2,2),(3,3)

 语句末尾不能加分号

在values后面加上foreach标签,item是list里面每一个元素的类型,separator是分隔符;

与java的for(Video video:list) 这种语法类似,对里面的传参,需要通过  video.title 这种形式去传参数。

 

调用后返回插入的行数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zero _s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值