发表于: 2017-12-24 23:08:32
1 647
一、今天完成的事情
1、白天在mybatis连接数据库最后一步的代码编译一直报异常,改了以后又生成新的异常,最后打算重新建一个项目再做一次,因为之前配置的文件比较乱,加上很多东西理解得很浅,第二次做的目的就是为了加深理解,争取让代码也规范一些
2、在整合了之前遇到的bug之后,这一次做少走了很多弯路,花了2个小时的时间就把代码编译完成,代码部分没有报错,但是配置文件连续报错多次,看来还是没有完全搞懂这些配置文件的内涵,下面先说说今天理解到的知识点,虽然在任务进度上几乎没有变动,但是在学到的实质性知识上,收获还是很大的。
3、弄明白了spring框架下mybatis项目骨架的各部分内容:
DAO层:
提供了应用程序与数据库之间的操作规范 和操作 用于通常数据库的增删查改 一般如果使用框架 都是由框架自
动生成,提高访问效率和便于快速开发。DAO中提供了关于事物 数据读取 修改 删除 添加 这些逻辑 还依赖于下面提到的Model。总的来说,DAO层主要与数据库打交道,实现数据交互。
Model
为了便于理解业务和代码可读 美观 通常将数据库表 作为对象封装,对象封装中提供属性 一般操作DAO类的时候 传入的是Model 通过映射文件 映射到数据库字段也就是通常说的通过实体类操作数据库,总的来说,model主要是一些javaben类,定义定的方法和属性,实现类的封装,以便于其他类调用它。
IMPL
以IMPL 结尾的类 一般是实现了某个或多个接口的类 这些类的接口 是定义了一些规范的类通常是数据访问等等 在service 中 会通过spring的注入 注入这些接口来实现逻辑。总的来说,impl是一些借口,供dao层或service层实现
service
主要是一些方法,处理业务逻辑,接收dao里面的方法及获取model中类的属性或方法。
之所以分这么多层,就是为了它们程序中层次分明,各司其职,其中的一层出了问题不会对其他层有太大影响,实现了高内聚、低耦合。
然后顺便理解了抽象方法和接口的区别:
1.抽象类可以有构造方法,接口中不能有构造方法。
2.抽象类中可以有普通成员变量,接口中没有普通成员变量
3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
4. 抽象类中的抽象方法的访问类型可以是public,protected和默认类型,接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
5. 抽象类中可以包含静态方法,接口中不能包含静态方法
6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
7. 一个类可以实现多个接口,但只能继承一个抽象类
理解了这些之后,就是在有目的性的学习和做任务了。
4、面向对象的基础知识继续在补充,慢慢夯实基础
5、掌握了Java必备英语单词
第十三章:
shape:[ʃeip] 形状
ope:[əup] 开放
change:[tʃeindʒ] 交换互换
date:[deit] 日期 日子
research:[ri'sə:tʃ] 研究 调查
triangle:['traiæŋgl] 三角形
practice:['præktis] 练习
loan:[ləun] 借出 借给
operator:['ɔpə,reitə] 操作员
protect:[prə'tekt] 保卫 护卫
private:['praivit] 私人的 私有的
二、明天完成的事情
1、完成mybatis连接数据库,然后进行增删改查操作和批量插入操作
2、完整看一遍师兄推荐的关于spring IOC的小课堂,这个内容很重要,一定要掌握
3、继续学习面向对象的内容,争取看懂一些复杂的衍生代码
三、遇到的问题
1、白天的时候遇到的异常一个接着一个,但是由于太心急,改了也没有截图,没有做好笔记,比如jar包版本冲突的问题,空指针异常(未解决),配置文件的粗心大意,引用变量提取错误等等,整个项目已经被改得很杂乱了。所以打算重新做一个
2、重做之后遇到的问题:
这个异常的原因是在maven项目中,.xml配置文件默认是放在resource文件夹内的,如果要放在src目录下,就需要在pom中添加如下代码
然后遇到了这个棘手的问题,花了2个小时还是解决不了,大概是application.xml文件的配置问题,但是找不到原因,异常的代码十分的长,第一次见到这么长的异常代码,有点被吓到了
异常代码:Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [application.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'URL [file:/D:/Firstmybatis/target/classes/com/dong/mapper/UserMapper.xml]'; nested exception is java.lang.RuntimeException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'bigint'. Cause: java.lang.ClassNotFoundException: Cannot find class: bigint
这个问题提交日报之后继续研究
四、收获
如上所述
task1开始时间:2017.12.13
预计demo时间:2017.12.26
需要延期
原因:刚开始一直以为设置的是步骤17的demo时间,所以才预估的26号,结果师兄告诉我只能预估整个任务完成的时间,那预计应该要到1月初才能完成
禅道
http://task.ptteng.com/zentao/project-task-350.html
评论