一周过的真的很快,作为一名大三狗,学校的课程不是特别多了,大部分都是选修,虽然一周空余时间非常多,但是自己也要好好指定计划,要不然很容易荒废过去。
这一周我将SSM的整合学习完了,前期的Mybatis大部分讲的是数据库表的联系,一对一,一对多,还有多对多。因为之前单独学习过数据库基本操作,所以听起来不是很难理解,自己多动手练习即可,相比hibernate,Mybatis真的要方便很多,下面说几个在联系中容易出现的小问题:
错误信息:java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=testSelect], {ExactMatcher:fDisplayName=testSelect(Test.MyTest{LeadingIdentifierMatcher:fClassName=Test.MyTest,fLeadingIdentifier=testSelect]]fromorg.junit.internal.requests.ClassRequest@27fa135a
这类错误信息是你在用Junit单元测试时没有在方法前加@Test注解;
Mapped Statements collection does not contain value for javastudy.userMapper.addUser
后面如果代码没有问题,但经常显示找不到xxx映射文件时,就是没有保存写过的代码,要记住,写完代码,及时保存;
在后面数据库操作中,涉及数据改动时要记得加上事务的提交,否则结果出不来;
错误中信息:org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'sid' in 'field list'
没保存学生到数据库就调用学生的id给联系人
返回插入后生成的自增长属性值的办法,useGeneratedKeys="true" keyProperty="id"表示插入后将主键id返回
在后面的更新或删除主外键关联的表示时要注意,主从表无关联字段随意修改,如果主表字段关联其他表,要先删除关联表数据,才能删除主表数据
另外,在外键中可以设置级联删除(一般不采纳,不通知,比较危险),或者删除主表数据时将关联表相关字段设置为空
只要掌握了一对一,一对多或者多对多都是差不多的,唯一要注意的就是sql语句的书写,避免写错
SSM整合方面没有出现过多的问题,按照步骤一步一步来,是没有问题的。理解方面可能还差一点,希望学习后面深入后看看源码,理解应该可以更加深刻。
框架学习完后就想赶快入手一个项目练练手,不过还是不能操之过急,需要一步一步循序渐进的学习,把基础牢固。