Ⅰ、entity、domain、pojo,有啥区别?各自都在什么情况下使用? (感觉虽然概念上有些区别,但是看很多项目是随便用的)
Ⅱ、目前 spring 用 xml 还是注解多一点? (是不是新的 springboot 项目用注解,老的 springframework 项目用 xml ?目前行业一般用什么?)
Ⅲ、mybatis 用 xml 还是注解? ( xml 很反人类啊,而且还要搞个 mapper.xml ,我现在都是直接在 DAO 层直接 @mapper,然后 @Insert 等等)
Ⅳ、举个例子
[前端发送的 json ] : { "carInfo": { "load": "1", "price": "2", }, "newSites": [ { "siteName": "AAA", "siteId": "1234" }, { "siteName": "BBB", "siteId": "3212" } ] }
[ controller ] : @RequestBody SitesInfo sitesInfo
[ domain ] : class SitesInfo(){ private CarInfo carInfo; private List<newsites> newSites; private int id; ......getter and setter...... }</newsites>
[ dao ] : @Insert("insert into table (newSites, carInfo) values(#{newSites}, #{carInfo})") @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") int insert(SitesInfo sitesInfo);
这样就有问题,好像是 type handler 不匹配?
目前想到的解决方案: 1、自定义一个 type handler ?可行吗? 2、搞一个 SitesInfoHelp
class SitesInfoHelp(){ private String sitesInfo; private int id;
public String getSitesInfo() {
return sitesInfo;
}
public void setSitesInfo(SitesInfo sitesInfo) {
this.sitesInfo = sitesInfo.toString();
}
}
然后 @Insert("insert into table (sitesInfo) values(#{sitesInfo})") @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") int insert(SitesInfoHelp sitesInfoHelp);
这样就可以了,同时需要各项数据的话,可以很轻松的 sitesInfo.getXXX
[那么问题来了] 1、哪一种方式更好? 2、是根据 json 结构设置 domain 结构?还是拿到 json 解析成自定义的 Object ?但是 @RequestBody 自动就变成了 Object 啊 3、像上面的 type handler 不匹配正确的解决方式是? 4、有没有其他更优雅的方式?
Ⅴ、要找工作的话,springboot 要学到什么程度?面试造航母,我很心虚啊 QAQ
1
epicq OP 怎么编辑的时候排好的版,现在全乱了 QAQ
|
2
oneisall8955 2019-05-17 03:45:51 +08:00 via Android 1
1,网上解释这几个基本说是有区别,但是项目上基本也是 entity,domain,pojo 随便建起来,都是用作持久层的对象的包名称。。。看项目习惯吧。但是 VO,DTO 还是比较统一的
2 ! springboot 用起来最大的特点就是注解很多,xm 基本没有 xml 的存在了,老的 ssm,ssh,xml 满天飞 3,简单用注解,复杂用 xml 4,mybatis 太久没用了,jpa 用的比较多,这个不清楚你的问题是啥。。。 5,找工作,按照经验,你不用会 springboot 都无所谓,会以前的 ssm 就行了,更直白的就是你理解 spring 在三层结构的地位,以及这三层怎么用就行了。感觉基础更加重要,如面向对象的特性的理解(设计模式),或者多线程,锁,数据结构算法,数据库原理,http 中的 TCP/IP 协议等这些才是重要内容 |
3
yinzhili 2019-05-17 13:57:51 +08:00 1
有一个好东西叫做 mybatis-generator。基本的 CRUD 代码都可以生成。自定义的就自己写。
|
4
jack80342 2019-05-22 14:41:33 +08:00 1
你可以看看😀我翻译的 Spring Boot Reference Guide 2.0.0.RELEASE 的文档。
|
5
jack80342 2019-05-22 14:41:58 +08:00
这是链接:github.com/jack80342
|