网页左边,向下滑有目录索引,可以根据标题跳转到你想看的内容 |
---|
普通的CRUD
如果还没有搭建MyBatis的环境,请参考上一节SSM框架之MyBatis的环境搭建https://blog.csdn.net/grd_java/article/details/104896816
-
2、增操作
首先在接口中添加一个方法,传入一个Ssm类对象作为参数
实体类中,我添加了一个有参构造(记住把无参构造补上),没有初始化id,因为我的数据库id字段自动增长
最后在mapper映射中添加insert标签,这里想要取到方法传来的值,可以使用#{属性名}的方式 -
3、改操作
-
4、删除
-
5、模糊查询
-
8、插入时获取id
-
9、级联查询(多表查询)
myBatis可以通过属性名.属性的形式调用级联属性,实现多对象查询 -
10、若实体类名和数据库列名不匹配怎么办
当不匹配时,会无法正确封装数据,这时可以将属性与字段的映射,用sql中起别名或者使用resultMap标签指定映射,直接起别名执行的效率高,使用resultMap开发效率高
动态sql
-
where和if标签(动态查询)
当我们想要实现,根据用户传入的不同条件,查找出相应数据,如果只传入id,就按id查,传入了姓名和密码,就按姓名和密码查,想要实现这些需要动态sql
-
set标签(动态修改)
当我们需要根据用户传入信息动态修改时,根据条件,可能会在结尾出现逗号,比如id=id,where,这样是错的,这时通过set标签解决
-
choose_when_otherwise(MyBatis中的whitch条件语句)
当我们想要实现满足某一个条件,就按照这个条件去查,其他条件就不在去看,或者所有条件都不满足,按照默认条件去查询时,就可以使用此表签
-
foreach
- 多条件查询
- 多条件插入(一次插入多条数据)
- 批量删除 delete from ssm where id in(?,?,?)
删除和查询一样,循环()里面内容即可 - 批量修改
update ssm set username=#{username}…where id=#{id};
修改需要重复循环这条语句,但是jdbc不支持将多个用分号结尾的语句拼接成一个,这时我们在驱动后面加一个参数即可
- 多条件查询