mybatis只能java用吗_Java后端开发猿不可不知的,Mybatis几种使用方式总结

mybatis框架主要工作于数据访问层,侧重于与数据库打交道的sql语句编写,对sql要求达到比较熟练的程度,本文将介绍以下几个方面的使用参数注入,返回对象,执行sql,include关键字

1.参数注入

1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数

public ListqueryList(String workerId, Integer topNum);SELECT ID id, WORKER_ID workerId, UPDATE_DATE updateDate

FROM USER_RECORDS t

WHERE t.WORKER_ID = #{0}

LIMIT #{1}

1.2Map或者封装对象,workerId为map里面的键

public Integer queryCountByWorkerId(Map queryParam);SELECT COUNT(1)

FROM tableName F

WHERE F.WORKER_ID = #{workerId}

1.3注解

public Integer queryCountByWorkerId(@param(“workerId”)String workerId);SELECT COUNT(1)

FROM tableName F

WHERE F.WORKER_ID = #{workerId}

2.返回

2.1映射

select ID,CREATE_DATE,WORKERID from tableName

2.2直接返回对象

select ID id,CREATE_DATE createDate,WORKERID workerId from tableName

3.执行sql

3.1sql参数:

public classParamVo {privateString sql;//getter setter 省略

}

3.2接口:

/*** @功能描述: 创建

*@paramvo

*@return

*/

public intexcuteCreateSql(ParamVo vo);/*** @功能描述: 查询

*@paramvo

*@return

*/

public List> excuteSelectSql(ParamVo vo);

3.3xml:

${sql}

${}不编译sql直接执行,如果用#{sql}可能报错

${sql}

这里不知道返回类型用map或者hashmap作为返回

4.include

有时候两个方法要返回的字段都一样或者where子句一样,这样为了避免重复写代码,就抽出来用include

4.1定义子句相同部分

FROM tableName1 F

RIGHT JOIN tableName2 C ON F.WORKER_ID = C.WORKER_ID

WHERE F.STATUS = 1 AND F.WORKER_ID = #{workerId}

ORDER BY C.CREATE_DATE DESC

4.2引用

SELECT COUNT(1)

SELECT ID id, WORKER_ID workerId, UPDATE_DATE updateDate,......

关注公众号“java工会”,获取更多技术干货!

加入qq群727096055,阿里大神和你聊技术!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值