发表于: 2017-04-29 07:42:03

2 1368


今天完成的事情:

1、编写dao,编写接口和实现类 

2、在eclipse 中用JUnit4来进行单元测试

3、Spring 基本概念学习,Spring和 Junit的配置


明天计划的事情:

20、编写单元测试代码,再写接口和实现类。把之前dao层设计和单元测试总结下

用Spring 写个简单HelloWorld学习


遇到的问题:

Spring的框架,java的架构,概念模糊,大量看相关的资料



收获:

一、DAO设计模式

1、先新建一个DBUtils工具类(启动关闭数据库)。

2、新建一个属性文件new-->file ,  db-config.properties,存放改配置信息(url; username;password;driver)方便修改。

3、例如新建Person类,这个Person类就是领域模型

4、定义PersonDao接口:专门对Person类进行操作(例如增删改查)。

5、定义PeronDaoImpl实现类 ,实现上面的PeronDao接口。

(在PeronDaoImpl实现类里面引用:`import com.su.dao.PersonDao;` 通过调用com.su.dao这个包,来调用里面PersonDao这个类)

参考:(http://www.cnblogs.com/smyhvae/p/4059514.html)


二、过程记录的些小问题

1、@Test中:assertEquals(expResult, result,0.0);的意思

expResult  你期望的结果,即你预测程序运行后出现的结果

result   实际运行后得到的结果。

0.0   两个结果间的允许误差

如果两个结果在误差范围内者通过

2、java.sql.ResultSet  这个包的作用?

表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。

3、getString(key )  意思?

在类中使用set和get方法时,都是在set和get后面跟上一些特定的词来形成特定意思的方法名,比如setage()和getage(),表示设置年龄和获取年龄。

JAVA面向对象编程中的封闭性和安全性。即用private来修饰,其他类则不能对该变量访问。要操作这些域变量,set和get方法,例如Person类中有name私有域变量,定义setname()、getname()方法,对name操作。可不用直接对Person类中的域变量操作,而是通过set和get方法间接地操作这些变量。

4、java中定义private string name 变量,name这个变量在数据库事char类型。在java用String?

因为数据库中char类型,对应Java中String

5、java中 String 需要大写, int不需要大写?

     String类不是基本类型而是对象类型,要用大写。int是基本类型。Java中有8种基本数据类型,即boolean、byte、short、char、int、flaot、long、double,基本数据类型不是对象,基本数据类型放在堆栈中,对象放在堆中。

6、为什么用@Override

   帮助自己检查是否正确的复写了父类中已有的方法;告诉读代码的人,这是一个复写的方法

7、 public void add(Person p)throws SQLException;   throw用法?

throw抛出异常。

Java异常处理通过5个关键字try、catch、throw、throws、finally进行管理。基本过程是用try语句块包住要监视的语句,如果在try语句块内出现异常,则异常会被抛出,你的代码在catch语句块中可以捕获到这个异常并做处理;还有以部分系统生成的异常在Java运行时自动抛出。你也可以通过throws关键字在方法上声明该方法要抛出异常,然后在方法内部通过throw抛出异常对象。

8、Spring框架作用

可以管理web层,业务层, dao层,持久层,可以配置各个层的组件(bean),并且维护各个bean 之间的关系。

9、java 三层架构

展示层(web层):

web层通常会使用MVC模式进行构建,经常使用的mvc框架包括spring mvc,struts等。

业务层

一般应用中会有一层service抽象,实现核心业务逻辑,事务控制也在这一层实现。

持久层

对数据库的数据进行处理,主要就是数据库操作,常见的技术就是JDBC 、 hibernate 、 mybatis这些数据持久层操作的技术和框架。

用来固化数据,如常说的DAO层,操作数据库将数据入库。




返回列表 返回列表
评论

    分享到