1
phx13ye OP 第一个问题主要想知道你们一般都怎么处理,感觉表多了不是得写疯啊?不想用网上那个通用mapper,它解决的主要还是单表问题,不可能POJO的属性或者说实例变量都是基本类型没有关联关系吧。
你们有没有DRY一点的方式解决? |
2
nino789pzw 2015-07-07 01:01:40 +08:00
inherit from a common dao, and put the parameter in a map?
|
3
phx13ye OP @nino789pzw 但是对于不同表的比如说删除语句,不是还需要自己写吗?你这只是解决了少写接口方法的问题吧,每个命名空间下,对应该方法不是还要写sql吗?
如果我的数据库大概有30多张表, |
4
nino789pzw 2015-07-07 01:26:54 +08:00
@phx13ye 将hashmap作为参数传入 在命名空间里面loop hashmap的key/value append到SQL
|
5
phx13ye OP @nino789pzw 额,请问怎么具体怎么做?
假如我需要这样一个语句WHERE key = value, ognl表达式不熟 |
6
nino789pzw 2015-07-07 01:59:10 +08:00
which version of myBatis r u using?
If I remember it correctly..it should have <foreach> |
7
nino789pzw 2015-07-07 01:59:24 +08:00
|
8
linnchord 2015-07-07 08:11:09 +08:00
|
9
thinkmore 2015-07-07 09:50:57 +08:00
generator自动生成
|
10
vivisidea 2015-07-07 09:52:11 +08:00
有很多非常类似的SQL,应该怎么抽象处理,每一句都要自己写吗?
比如selectByXXX, deleteByXXX -- 我们项目是用 freemarker 自己写模板文件生成的代码 顺便还能把基本的dao和service文件(基本的CRUD,其他业务逻辑当然要手写了)也一并生成了 |
11
cnhongwei 2015-07-07 14:16:02 +08:00
mybatis 我认为有些麻烦,不过orm也没有太爽。现在使用spring data jpa好一点。不知道Query DSL如果,看样子还可以。但感觉java中,大部分的框架,都要写个bean和column的对应实在不爽,没有办法自己推断吗?不知道其它的语言怎么样。现在有点想学习一下scala 的 slick, 不知道会不会好一些。
|
12
phx13ye OP @cnhongwei jpa定义多了manytoone 和 manytomany 会关联太多查询,控制不好容易有N+1问题。
不过小项目用确实爽,那些repo接口强行很规范 |
13
lidiya 2015-07-09 15:50:24 +08:00
Java Web进阶-Mybatis视频资料 http://www.maiziedu.com/course/java/357-4370/
|
14
dongfangshangren 2015-07-10 22:51:14 +08:00
基础SQL比较多可以用mybatis generator,有类似的sql可以使用sql标签重用,或者有一几乎一样的sql只是参数不同可以用动态sql,mybatis自带缓存不太喜欢用,用springcache、aop等其它方式更简单灵活
|