#三.mybatis-小结以及实验题目

1 第一个入门case的小结
    
① XXXMapper.xml文件中,namespace必须是接口全路径
    ② XXXMapper.xml中的id必须是接口里面的方法名 ,两者一致
    ③ XXXMapper.xml中的parameterType类型必须和对应方法的形参一致
    ④ XXXMapper.xml中的resultType类型必须和对应方法的返回值类型一致
    ⑤ 每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能共享使用,它也是线程不安全的,定义为局部变量
     ⑥ mapper接口实现动态代理对象
        [1] 定义:
            只需要编写mapper接口的(等价于传统的dao接口),Impl实现类,也即动态代理+面向接口
            1) XXXdao接口-------->XXXMapper.java
            2) XXXdao接口Impl实现类-------->XXXMapper.xml

   
2 再次和JDBC、Hibernate、JPA对比学习mybatis解决了哪些问题,为何有它一席之地
   
① 相对于JDBC
        [1] Sql语句配置在XXXXmapper.xml文件中与java代码分离
        [2] 数据库连接池
        [3] Where条件的频繁变化,Mybatis自动将java对象映射至sql语句, 通过statement中的parameterType定义输入参数的类型。
    ② 相对于Hibernate
        [1] Hibernate太重,mybatis轻量级
        [2] 严格来说,Mybatis是个半自动化的SQL Mappering映射框架,因为MyBatis需要程序员自己编写Sql语句
        [3] 学习门槛低,简单易学,看官网文档都知道,不到100页,可以快速上手。 程序员直接编写原生态sql,可严格控制sql执行性能,sql在手,天下我有。
    ③ 相对于JPA
    ④ 相对于Spring Data
3 实验
  
  实验0:保存Customer
    实验1:删除cust_id为8的Customer
    实验2:更新cust_id为10的Customer的姓名和年龄
    实验3:查询cust_id为12的Customer
    实验4:查询List<Customer>,没有查询条件

    实验5:查询List<Customer>,查询条件是 (以实体类对象形式封装查询条件)
        cust_name包含'a'
        cust_age大于20
    实验6:查询List<Customer>,查询条件是 (以Map类型的对象封装查询条件)
        cust_name包含'a'
        order_amount大于20
    实验7:查询List<Customer>,查询条件是 (传多个零散的参数)
        cust_age在25~30之间

    实验8:查询order_id为5的cust_name和order_name (将零散的查询结果封装到Map对象中返回)
    实验9:查询order_amount大于20的cust_name和order_name (查询结果的一条记录对应一个Map对象,多条记录的结果可以使用List封装Map对象)
    实验10:查询cust_id为12的Customer,但是使用resultMap映射 (使用resultMap方式解决字段名与属性名不一致问题)

    实验11:查询结果为单值,统计Customer数量

    实验12:执行DDL语句创建数据库表

    实验13:调用原生API查询cust_id为12的Customer
    实验14:通过注解版Mapper接口查询cust_id为12的Customer
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值