发表于: 2017-08-30 22:10:26
2 1181
一、 今天完成的事情
Q17-Q19
1. Q17编写DAO,分别JdbcTemplate和Mybatis连接数据库
首先介绍一下基本概念(个人理解,如有错,请指出):
DAO,data source object,即数据访问对象,后台程序通过dao与数据库交互;
JdbcTemplate,spring对数据库的操作在jdbc上面做了封装,使用spring的注入功能,可以把DataSource注册JdbcTemplate之中;
Spring,是一个企业级开源框架;
MyBatis,是一款持久层框架,大多数工作都在xml文件中,避免了多数jdbc代码和设置参数
这一次使用的表是任务一开始要求按照“线下报名”格式创建的applicant
JdbcTemplate连接数据库:
通过eclipse搭建一个maven项目 mavenDemo:
导入spring的jar包,在pom.xml加入标签:
在src/main/resources下编写配置文件application-beans.xml
加入标签:
在src/main/java下编写源文件:
表实体类:
Dao:
实现类:
封装数据:
测试类:
运行结果:
可能出现的错误:
在pom.xml加入标签:
MyBatis连接数据库:
创建数据库表:依然使用applicant表
导入jar包:通过maven的pom.xml建立依赖关系导入
实体类:依然使用Applicant类
定义数据访问接口:依然使用ApplicantDao
创建MyBatis映射文件:ApplicantDaoMapper.xml
编写mybaties的核心配置文件:mybatis-config.xml
编写测试类代码:
运行结果:
注:
SqlSession的作用:1)向sql语句传入参数;2)执行sql;3)获取执行结果;4)事务控制
关于Mybatis不需要impl的个人理解:
先说下为什么spring需要,是通过ApplicationContext的getBean方法从容器中获取到dao接口的实现类,
这样面向接口编程的好处是当需要更改dao实现类的时候,不需要在源代码上更改,只需要更改配置文件的class值为新的实现类即可
而MyBaties,它将大部分工作都放在了配置文件中,包括jdbc代码和sql语句,使得impl没有存在的必要,操作更改时只需更改xml文件
2. Q20单元测试
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。(待续。。。)
3. 继续学习Maven知识
1) maven自动建立目录骨架,使用命令 mvn archetype:generate
2) maven中的坐标和仓库
二、 明天计划的事情
必须完成Q20,争取完成到Q23
三、 遇到的问题
1. 开始阶段就学框架会不会快了点,今天一下子接触两种框架,我学迷迷糊糊的,感觉挺郁闷的。
2. 了解到一般学框架前都是先学servlet,想知道以后的任务中有学这个吗?
四、 收获
1. 初步使用两种框架
2. 开始明白maven的作用
评论