MyBatis小总结

@param参数绑定

简单数据类型

在Mapper的 Student findStudentByNameAndAddress(@Param("name"),@Param("addr") String name, 参数绑定使用

     select * from Student w here name=#{name} and address=#{addr} 

复杂数据类型

     select * from student where name=#{name}     and birthday=#birthday=#{birthday}  map.put("name","");map.put("birthday","")

动态sql语句

mybatis是否启用连接池的区别

启用连接池时事物改为手动事务结束之后将资源归还给连接池

不启用连接池的时候改为自动提交 结束之后直接关闭连接对象

当数据库表中的字段和实体类属性不相同时

1 基本映射 和实体类的属性名称相同 起别名 (每次查询的时候都需要起别名 过于繁琐)

2 mybitis 高级映射 在映射文件中定义resultMap然后增删改 查询语句中将resultMap引入

ResultMap里面就是可一讲每一个字段和实体类的属性一一映射

mybatis里动态标签的判断语句

     select * from student     where               name=#{stuName}                 and address=#{stuAddress}      

使用where 关键字代替标签 简化sql语句

     select * from student     <!--动态sql判断 将重复端的sql语句抽离出来 在其他sql中引入sql片段即可--> 

<sql id="mySelectSql">

select * from student

</sql>

           

建议看官网

foreach

动态sql的一个常见使用场景是对集合便利尤其是在构建IN语句时

     Select * from Post p     where ID in              #{item}         

</foreach>

</select>

lobbok

@Data

@AllArgsConstruct

@NoArgsConstructor

一对多和一对一的前期配置

实体属性对应的字段名称

创建两个类

继承关系 账户和账户实体

主要通过重写 toString super toString 拼接实现

弊端 局限性会产生耦合性程序间需要解耦降低耦合性

并不建议去使用

在 xml配置映射文件

使用 <对象.属性名>的方式进行映射

使用嵌套结果ResultMap实现一对一的关系映射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值