Mybatis的部分总结

MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集

首先我们得配置一个mybatis连接数据库所需的配置文件,写上要连接的数据库名字和自己的用户名,密码等等

 写完上面的操作之后就可以在mybatis的配置文件中加载这个文件了,并可以通过${}来导入信息

 然后通过settings来设置日志工厂,也可以设置数据库中下滑线书写转换成Java的驼峰书写,虽然是默认为true,但是为了可读性,建议写上 

 为了在后续的Mapper.xml的书写方便,一般情况会把对象起一个别名,避免写多余的部分

 每一个mapper.xml都需要在mybatis核心配置文件注册

每一个mybatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。我们可以定义一个公共类来实现这个方法 

 然后再连接上数据库

 

现在我们就可以来书写一个接口来实现我们要实现的方法,例如查询数据库中所有的数据

 然后在映射文件中书写相应的SQL语言,然后就可以编写测试方法了

 

插入、更新、删除都分别有不同的标签<insert>、<update>、<delete>需要提交事务

 

 而且当我们分页的时候,并且数据库的用户名不是下滑线的时候可以使用resultMap的方式来书写

 

 连表查询可以有两个方式:一个是嵌套查询,另一个是按结果集查询,先定义两个类,然后学生类关联老师类,定义两个获取学生的方法

 

 通过查询来嵌套处理,先将两个表里面的数据查询出来

 按照查询嵌套来处理,然后再测试


通过结果来嵌套处理

 

两个结果都是一样的 

当你从前端获取数据为空时,可以像JDBC那样判断是否加上次条件

 但是也要加上一个恒定值,这样会很麻烦所以就会用上<where>标签,where标签默认会删除and和or标签

 

当你发现这个<if>标签要被大量使用时,你可以将它写在<sql>标签中,然后用<include>来引入即可避免了代码的重复性

还有一个类似switch的标签<choose>,跟<if>标签的效果类似用来判断这个数据是否有值,<when>相当于switch的case,<otherwise>相当于switch中的default

 

还有一个<foreach>标签相当于数据库中的in在某个范围中,然后再进行测试

 

 

还有一个<set>标签跟where标签差不多,它会默认删除逗号

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值