javaer 们, JPA 和 mybatis,喜欢用哪一个
mybatis 新出了 https://github.com/mybatis/mybatis-dynamic-sql 简单查询用起来很爽。
mybatis 新出了 https://github.com/mybatis/mybatis-dynamic-sql 简单查询用起来很爽。
感觉 mybatis 麻烦多了
看了一下同事使用 mybatis pagehelper 的方式, 自己接受不了
喜欢手写 sql, 不管啥语言框架都一样的使用方式
jpa 多表查询难用..
简单 SQL 用 ActiveRecord ORM 一波,复杂的用 JdbcTemplate 手写 SQL
我觉得相反,应该是性能要求越高业务约简单的场景用 mybatis 更好。 那种复杂业务动不动几千上万张表的系统,mybatis 关联都要写吐
没有少写代码,SQL 还是那个长度
没有提高性能,增加了解释 XML 的开销
代码和逻辑分离,不利于读旧代码
降低了灵活性,某些场景下还很麻烦
现在 mybatis 有点几年前 ssh 那味儿
现在都是这种注解写法吧……
@Results({@Result(property = “detail”, column = “detail”, javaType = Object.class, typeHandler = JsonTypeHandler.class)})
@Select(“<script>select a.id, e.`name` as entity, a.type, a.`code`, a.`name`, a.balance, a.detail, a.is_invalid ” +
“from iaf_account a join iab_entity e on e.id = a.entity_id where e.tenant_id = #{tenantId} ” +
“<if test = ‘key != null’>and (type = #{type} or `code` = #{key} or name like concat(‘%’,#{key},’%’)) </if>” +
“order by created_time desc</script>”)
List<AccountDto> getAccounts(QueryDto dto);
压根不需要 xml
做报表时,这个写法太舒服了
另外 mp generate 的 entity 结构竟然不是标准 JPA 规范的,很烦。