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 添加