JDBC: Java数据库连接技术,提供链接各种常用数据库的功能
DriverManager:根据数据库,管理JDBC驱动
Connection:负责连接数据库并担任传送数据的任务
Statement:由Connection产生,负责执行SQL语句
ResultSet:负责保存Statement执行后产生的查询结果
用法:
1.Class.forName(驱动类)加载JDBC驱动
2.Connection conn = DriverManager.getConnection(url,user,password)与数据库创建连接返回一个Connection对象
3.Statement state = conn.creatStatement();
tate.execute(sql)执行sql语句 可执行增删改等操作
ResultSet rs = tate.executeQuery(sql)获取查询操作返回的结果
4.关闭资源 遵循先开后关原则
由于Statement可能会产生SQL注入的问题,为了解决这个问题,应该使用PreparedStatement接口,它继承与Statement并且使用起来更加灵活,提高了代码的可读性与可维护性
用法与Statement基本相同,不同的是SQL语句中可以用‘?’作为占位符,实例调用setObject(index,object)为其赋值
DAO模式:
定义:
Data Access Object(数据存取对象)
位于业务逻辑持久化数据之间
实现对持久化数据的访问
作用:
隔离业务逻辑代码与数据访问
隔离不同数据库的实现
组成:
DAO接口
DAO实现类
实体类
数据库连接与关闭工具类(帮助类)
个人理解用法:
1.创建数据库工具类接口与实现,帮助类.创建相应数据库
2.创建实体类,添加实体相应接口继承于数据库工具接口(BaseDao),实现类继承于数据库工具类实现类,并实现接口
3.根据需要向接口声明方法在实现类实现(仅关于数据库的操作)
4.创建业务逻辑接口与实现类来处理相应业务逻辑(业务逻辑类只用调用DAO接口即可,仅处理业务逻辑)
分层思想:JDBC用来操作数据库,通过service层将隔离数据访问层,通过实体类传递数据,将业务逻辑与数据操作分离开,分层结构.
开始流程:
1:建立数据库epet,建表;
2:创建实体类,和相应的数据库的表是对应的;com.beiwo.epet.entity
3:创建Dao的基类接口类BaseDao;com.beiwo.epet.dao.BaseDao
4:创建Dao的实现类BaseDaoImpl;com.beiwo.epet.dao.impl.BaseDaoImpl
5:创建具体表的Dao类,PetDao;com.beiwo.epet.dao.PetDao
6:创建具体表的Dao实现类,
PetDaoMysqlImpl;com.beiwo.epet.dao.impl.PetDaoMysqlImpl
7:创建业务逻辑层的接口类,PetService;com.beiwo.epet.service.PetService
8:创建业务逻辑层的接口实现类,
PetServiceImpl;com.beiwo.epet.service.impl.PetServieImpl
9:创建测试类。