1.在Java中,如何把各种数据存入数据库,实现增删改查呢?

答:通过JDBC技术实现对各种数据库的访问。

      JDBC( Java DataBase Connectivity)Java数据库连接技术的简称。

      由一组Java语言编写的类和接口组成,可以为多种数据库提供统一访问。

 

2. JDBC API 提供了java应用程序与各种不同数据库交互的标准接口。

   Connection 连接接口  :   负责连接数据库,并传送数据

 Statement  接口    :   由Connection产生,负责执行sql语句

   ResultSet   结果集接口  :   负责保存、处理Statement执行后产生的查询结果。

   PreparedStatement接口  :Statement的子接口,也由Connection产生,同样负责执行sql语句。sql语句中用? 占位符,防止sql 语句拼接的注入。

 

3. JDBC 驱动

  JDBC Driver Manager  位于java.sql包中,负责管理各种不同的JDBC驱动。

 

4.JDBC访问数据库的步骤

  1)加载JDBC驱动

    

 

  2)与数据库建立连接

    

 

  3)发送Sql语句

    

 

 

  4)处理返回结果

    a)处理增加语句的返回结果

     

 

          b)处理查询语句的返回结果

    

二、分层 

我们现阶段学的分层就是把要实现不同功能的类,放在不同的包中,这些包的命名有嵌套层次。

下图是flat模式下各个包的关系

 

 

 

下图是包继承结构图下的包形式:

  

 

 

DAO 数据访问对象 :Data Access Objects 

面向对象设计过程中,有一些”套路“ 用于解决特定问题,这种”套路“称为模式。

DAO模式将数据访问业务  和业务逻辑分离,对上层提供面向对象的数据访问接口。

一个典型的DAO模式主要有DAO接口,DAO实现类,实体类组成,

基于代码复用,再创建一个数据库连接和关闭的工具类,我们写的工具类中包括封装的增删改方法,和查询方法。

如:

 

cn.s2227.dao.imple包   dao的impl层 : StudentDaoImpl的实现类,继承BaseDao类,实现IStudentDao接口,适配器开发模式。

cn.s2227.entity包    entity  层   : 实体类Student

cn.s2227.service 包   service 层  : 接口 IStudentService

cn.s2227.service.impl包    impl 层 : 实现类 StudentServiceImpl 实现了IStudentServie接口

cn.s2227.test 包   test    :main方法,最后的测试类

 

 

1. BaseDao工具类中 四个内容

  1)获取连接的方法

  2)关闭资源的方法

3)增、删、改的标准方法,根据业务需要传入sql语句

  4)查询的方法 

 

2. IStudentDao 接口 

  增、删、改、查四个抽象方法

3. dao.impl   中 StudentDaoImpl 类继承BaseDao,实现IStudentDao ,

    重写了IStudentDao接口中的增、删、改、查四个方法。

    每个方法可以有单元测试。  

    单元测试的Junit4 包 ,可以 通过 Build Path 的add Libarary 添加