mybatis总结

pojo:不按mvc分层,只是java bean有一些属性,还有get set方法
domain:不按mvc分层,只是java bean有一些属性,还有get set方法
po:用在持久层,还可以再增加或者修改的时候,从页面直接传入action中,它里面的java bean 类名等于表名,
    属性名等于表的字段名,还有对应的get set方法
vo: view object表现层对象,主要用于在高级查询中从页面接收传过来的各种参数.好处是扩展性强
bo: 用在servie层,现在企业基本不用.
这些po,vo, bo,pojo可以用在各种层面吗
可以,也就是po用在表现层,vo用在持久层不报错,因为都是普通的java bean没有语法错误.
但是在企业最好不要混着用,因为这些都是设计的原则,混着用比较乱.不利于代码维护.

自学方法论: 理论 -> 实践 -> 理论 -> 实践  反复迭代三遍

总结:
1. mybatis是一个持久层框架, 作用是跟数据库交互完成增删改查
2.原生Dao实现(需要接口和实现类)
4.动态代理方式(只需要接口)
    mapper接口代理实现编写规则:
    1) 映射文件中namespace要等于接口的全路径名称
    2) 映射文件中sql语句id要等于接口的方法名称
    3) 映射文件中传入参数类型要等于接口方法的传入参数类型
    4) 映射文件中返回结果集类型要等于接口方法的返回值类型

5. #{}占位符:占位
    如果传入的是基本类型,那么#{}中的变量名称可以随意写
    如果传入的参数是pojo类型,那么#{}中的变量名称必须是pojo中的属性.属性.属性...

6. ${}拼接符:字符串原样拼接
    如果传入的是基本类型,那么${}中的变量名必须是value
    如果传入的参数是pojo类型,那么${}中的变量名称必须是pojo中的属性.属性.属性...
    注意:使用拼接符有可能造成sql注入,在页面输入的时候可以加入校验,不可输入sql关键字,不可输入空格
7. 映射文件:
    1)传入参数类型通过parameterType属性指定
    2)返回结果集类型通过resultType属性指定
8. hibernate和mybatis区别:
    hibernate:它是一个标准的orm框架,比较重量级,学习成本高.
        优点:高度封装,使用起来不用写sql,开发的时候,会减低开发周期.
        缺点:sql语句无法优化
        应用场景:oa(办公自动化系统), erp(企业的流程系统)等,还有一些政府项目,
            总的来说,在用于量不大,并发量小的时候使用.
    mybatis:它不是一个orm框架, 它是对jdbc的轻量级封装, 学习成本低,比较简单
        有点:学习成本低, sql语句可以优化, 执行效率高,速度快
        缺点:编码量较大,会拖慢开发周期
        应用场景: 互联网项目,比如电商,P2p等
             总的来说是用户量较大,并发高的项目.

 

1. 输入映射(就是映射文件中可以传入哪些参数类型)
    1)基本类型
    2)pojo类型
    3)Vo类型
2. 输出映射(返回的结果集可以有哪些类型)
    1)基本类型
    2)pojo类型
    3)List类型
3. 动态sql:动态的拼接sql语句,因为sql中where条件有可能多也有可能少
    1)where:可以自动添加where关键字,还可以去掉第一个条件的and关键字
    2)if:判断传入的参数是否为空
    3)foreach:循环遍历传入的集合参数
    4)sql:封装查询条件,以达到重用的目的

4. 对单个对象的映射关系:
    1)自动关联(偷懒的办法):可以自定义一个大而全的pojo类,然后自动映射其实是根据数据库总的字段名称和
        pojo中的属性名称对应.
    2)手动关联: 需要指定数据库中表的字段名称和java的pojo类中的属性名称的对应关系.
        使用association标签
5. 对集合对象的映射关系
    只能使用手动映射:指定表中字段名称和pojo中属性名称的对应关系
        使用collection标签
6. spring和mybatis整合
    整合后会话工厂都归spring管理
    1)原生Dao实现:
        需要在spring配置文件中指定dao实现类
        dao实现类需要继承SqlSessionDaoSupport超类
        在dao实现类中不要手动关闭会话,不要自己提交事务.
    2)Mapper接口代理实现:
        在spring配置文件中可以使用包扫描的方式,一次性的将所有mapper加载

7. 逆向工程:自动生成Pojo类,还可以自动生成Mapper接口和映射文件
    注意:生成的方式是追加而不是覆盖,所以不可以重复生成,重复生成的文件有问题.
        如果想重复生成将原来生成的文件删除
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值