多表查询的sql语句处理

返回值

	 返回的是一个对象的时候:association
     返回的是一个集合:collection

    resultMap:的作用

    A、处理实体中的属性和数据库的字段不一致的问题
    B、N+1方式进行查询的时候代替的是熟悉的业务逻辑代码 (java代码)
    C、多表查询的时候:sql语句充当接受参数的实体,也就是接收参数


   resultMap  和  resultType 使用场景是什么?
     
  A、单表的操作的时候使用resultType接受
  
  B、多表sql语句的时候使用resultMap接受

  C、实体的属性和数据库的字段不一致的时候 

MyBatis中注解的使用


//查询所有的操作
@Select("select *  from  student")
public    List<Student>  findAll();

//查询单个
@Select("select *  from  student  where  sid=#{0}")
public   Student   findOne(int sid);

//添加

@Insert("insert into  student  values(default,#{sname},#{pwd},#{clazzno})")
public   int  insert(Student stu);

//修改
@Update("update  student  set  sname=#{sname}  where sid=#{sid}")
public   int  update(Student  stu);


//删除的操作
@Delete("delete from  student   where sid=#{0}")
public   int   del(int sid);
  
注解的缺点:
  [1]没有办法实现sql语句和java代码的解耦
     
 [2]注解的方式操作单表比较的简单,但是操作多表相对复杂
  
 [3]没有办法实现sql语句的动态拼接
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值