JDBC
概念
JDBC(Java DataBase Connectivity(Java数据库的连接)):
是一种用于执行SQL语句(DML,DDL,DQL)的Java API,可以为多种关系数据库(oracle,mysql,SQL server)提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序.
不管使用哪一种数据库,都需要去导入这个数据库给我们提供的jdbc实现的jar包
访问数据库的两种形式
1.JDBC最原生的方式去访问
2.使用第三方框架来进行访问(底层依然是JDBC)
JDBC连接数据库
导入相应的jar包
jdbc连接数据库步骤:贾琏欲执事
1.加载驱动
2.建立连接
3.获取语句
4.执行语句
5.关闭连接,释放资源
加载驱动三种方式
这里介绍最常用的一种:
1 | try { |
至于其他两种:😝😝😝😝😝百度一下,你就知道
使用JDBC实现增删改查
1 | package com.ifueen.classtest.jdbcdemo; |
封装JDBC工具类
为了更方便,让代码使用起来更高效,可以将连接数据库的操作封装成一个工具类,以后在每次要进行数据库连接的时候直接使用工具类即可
这里先将数据库的驱动连接,url,账户密码等放在了资源文件夹的properties文件中
资源文件db.properties:
1 | driverClassName=com.mysql.jdbc.Driver |
封装的工具类:
1 | package com.ifueen.classtest.util; |
这下连接数据库的操作就很好地封装成了一个工具类,只需要在要进行操作的地方使用即可
测试类:
1 | package com.ifueen.classtest.util; |
Dao层的实现
DAO : 主要是用来做数据库的操作
模块化,分工明确,解耦(责任分离)
刚才已经说到要分层,各层之间相互调用,现在数据层 调用 数据库,需要传什么内容?
比如 要添加一个用户,怎么添加?
界面层:收集数据; name,password,age….等等 需要传递很多东西;
业务层:界面层收集之后,传到业务层;
因为我们没有前端传过来的数据,现在只使用dao,domian层来进行crud操作
大体结构如下
首先肯定要在数据库中将表建好,然后写一个javabean类和这张表一一对应
domian层下面的javabean类:
1 | package com.ifueen.homework.domian; |
Dao类:
1 | package com.ifueen.homework.dao; |
dao的实现类
1 | package com.ifueen.homework.dao.impl; |
最后测试类:
1 | package com.ifueen.homework.test; |