新人小白记录一下刚进公司的情况
1.学习几个月基础以后就开始接触框架,进公司第一天是看项目源码,下午经理就给我任务做模块的功能,跟原来一样看一些懂的代码后开始照葫芦画瓢,用的是Springboot集成springcloud(说实话,MVC我都没摸懂什么个情况又要学boot和cloud,学起来比较慢),习惯性的先在Mybatis的xml文件里看增删改查,映射这一块我一直以为实体类跟表一定要一一对应,老大解释说表的字段只是存记录,实体类是要在后台灵活操作的,所以实体类可以有对象,包装类,我自己理解的一些:namespace是空间表,用于映射的地址,resultMap是结果集,id唯一,type是指定的实体类名,<id>表的唯一标识,所以他有单独的标签,<column/>是表中的列名,<propert/>是实体类的属性名,这两个分别把表和列对应起来。
<![CDATA[]]>在网上查的说是在此标签中的文本不会被解析,我也不懂什么个情况。
<insert id="save" parameterType="Bed" useGeneratedKeys="true" keyProperty="id>
<![CDATA[
INSERT INTO sch_dorm_t_bed (`NAME`,`CODE`,`ROOM_ID`,INTETIME,STATUS)
VALUES(#{name},#{code},#{room.id},#{intetime},1)
]]>
</insert>
插入这个东西可是困扰了我好久,当时不知道格式是怎么写的,网上的写法几个版本,反正两张表插入时会提示主键绑定错误,设置这个useGeneratedKeys="true" keyProperty="id和impl中加个@Transactional表示事务回滚,我也不知道为什么这样,但是就是实现批量插入了
其实对分层架构不是很清楚,每天都看也搞不懂流程,写板块的时候先尝试在理解,controller用于接收页面请求,并写好方法去指定处理的类,他会到service类生成方法(根据controller中的方法类型和定义的参数),接下来就是实现类里将service里的方法再添加要执行的业务逻辑,mapper层一般都是继承base的,不加方法,必要时添加条件这些,然后才到mybatis(我自己的理解,刚入门瞎说的)。