Mybatis使用的几种方式
第一种 使用Mapper接口
@Autowired
private WechatBindUserMapper tWechatBindUserMapper;
@Override
public WechatBindUser queryWechatBindInfo(Map<String, Object> param) {
return tWechatBindUserMapper.queryWechatBindInfo(param);
}
第二种 使用sqlSession+statement
这方式不用写Mapper接口文件,通过
Enterprise enterprise = (Enterprise) this.getSqlSession().
selectOne("EnterpriseMapper.selectByEnterpriseId", enterpriseId);
第三种 自实现的一种通用查询方法
public int update(T object) {
EntityDef entityDef = EntityCache.getEntityDef(this.getTClass());
Map params = new HashMap();
params.put("schema", entityDef.getSchema());
params.put("table", entityDef.getTable());
params.put("id", entityDef.getIdUpperCase());
params.put("idValue", entityDef.getIdValue(object));
params.put("columnList", entityDef.getKeyValueList(object));
return this.getSqlSession().update("core.entity.update", params);
}
自定义了一种core.entity的基础mapper
<!-- update record by primary key -->
<update id="update" parameterType="java.util.HashMap">
update
<if test="schema!=null">
${schema}.${table}
</if>
<if test="schema==null">
${table}
</if>
<set>
<if test="columnList!=null">
<foreach collection="columnList" item="item" index="index"
separator=",">
<if test="item.value!=null">
${item.key} =
#{item.value}
</if>
</foreach>
</if>
</set>
where ${id} =#{idValue}
</update>
还没有评论,来说两句吧...