发表于: 2018-01-10 23:02:40
1 559
师兄你好!
感谢师兄每天给我的日报回复,师兄的回复里提到的事情,
我还有很多没有搞懂和消化的地方,我会整理出来,一条条去思考,还请师兄见谅。
以下是今天日报的内容。
■今天完成的事情:
1.关于架构的思考
・三层架构
三层架构,英文叫做3-tires,
表示层---业务逻辑层--数据访问层(----数据库)
指客户端
・MVC
一个常见的J2EE项目:
users.jsp (V) --- 负责用户和客户端之间的对话
UserController.java (C)----负责控制如何从客户端取得数据,
UserService.java (Service层) --- 负责实际的业务逻辑
UserDao.java (DAO层) ----负责数据库的读取删改
User.java (M) --- 负责规定对象的结构
⇒降低代码的耦合度
⇒提高代码的内聚性
⇒方便维护,方便复用
・三层架构和MVC的关系
三层架构是宏观结构,不仅涉及到编程,还涉及网络基础框架
而mvc是三层架构中关于应用程序的微观层面的具体实现
2.关于索引的思考
・数据库有多少条记录里需要建立索引
1)一般超过1万条就应该考虑索引(当然没有一个固定的数量)
2)查询频繁消耗资源多的表,应该优先考虑索引
3)修改非常频繁的数据不适合做索引
(插入和修改都会由于索引的问题额外消耗资源)
4)有一些查询慢和sql语句的写法也有关系,
5)定期要对数据库进行分析和调优,观察数据的变化趋势,删除,
3.写dao和jdbcTemplate的程序
我昨天配了SpringMvc的环境,今天硬着头皮写了dao和jdbcTemplate的程序,走了不少弯路。
1.在pom.xml里面增加jdbc和mysql的driver
2.创建新的目录,创建了StudentDao.java, StudentDaoImpl.java,ApplicationContext.xml
具体层次如下
编译没有问题,但是有红色错误说Maven Java EE的结构有问题,这个我还没有解决
3.写各个文件的代码
3.1 dao接口
3.2 dao实现
3.3 测试文件
因为时间关系,我只测了select,明天会测其他SQL
3.4 ApplicationContext.xml
1.测insert,update,delete
2.用mybatis来连接数据库
3.体会dao和daoImpl为什么要这么写
■遇到的问题:
1.JdbcTemplate编译错误
原因是spring版本的问题,我改了pom.xml里面的版本后,编译错误消失
2.启动test文件,报错说driverName无法加载
还是jar的版本问题,提升了mysql connector的版本后,得到解决
■收获:
1.与其说是收获,不如说是感受,第一次自己动手写了dao,配置了spring的jdbc环境,感到自己不理解里面的原理,只是在打地鼠,哪里有错误就修补哪里,需要更加细致系统的学习
2.师兄给我的回复我要好好思考一下
评论