JDBC步骤详解

这篇博客详细介绍了使用JDBC与Servlet进行数据库操作的步骤,包括项目结构搭建、依赖导入、数据库连接、DAO层、Service层、Servlet层的编写,以及JSP和HTML界面的创建。通过建立BaseServlet进行方法封装,实现用户登录、注册、列表展示、添加、删除、查询和更新等操作。
摘要由CSDN通过智能技术生成

1.建立结构

java包

utils 工具层 entity 实体类 dao(impl 实现包 ) jdbc(访问数据层) 全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查 service(impl 实现包 ) 业务逻辑层 被称为服务,肯定是相比之下比较高层次的一层结构,相当于将几种操作封装起来 servlet servlet

Service是业务层,Dao是数据访问层,这样的分层是基于MVC架构来说的。

具体起来,Dao的作用是封装对数据库的访问:增删改查,不涉及业务逻辑,只是达到按某个条件获得指定数据的要求; 而Service,则是专注业务逻辑,对于其中需要的数据库操作,都通过Dao去实现。

简单来说就是Dao层是底层,具体到某一张表的增删查改,可以理解为有多少张表就有多少个Dao层,而Service成可以理解为是Dao层的 “上司”,通过Service层来控制Dao层。

resources层

db.properties

url=jdbc:mysql://localhost:3306/school
username=root
password=1998929jia
driver=com.mysql.jdbc.Driver

web层

JSP,HTML文件

2.导入依赖

<dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.6.2</version>
​
        </dependency>
​
        <!--数据库-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>
        <!--通用增删改查的工具类依赖-->
        <!-- https://mvnrepository.com/artifact/commons-dbutils/commons-dbutils -->
        <dependency>
            <groupId>commons-dbutils</groupId>
            <artifactId>commons-dbutils</artifactId>
            <version>1.6</version>
        </dependency>
​
        <!--jstl 页面使用 servlet-->
        <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
​
        <!--连接池-->
        <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.9</version>
        </dependency>
    </dependencies>

3.链接数据库

3.1编写JDBCUtils类

public class JDBCUtils {
        //DruidDataSource数据连接池
        private static DruidDataSource dataSource;
        static {
            Properties properties=new Properties();
            //读取配置文件
            InputStream inputStream= JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties");
            //从流中加载数据
            try {
                //导入
                properties.load(inputStream);
                //创建 数据库连接池
                dataSource=(DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
​
        /**
         * 获取数据库连接池的连接
         * @return 如果返回null,说明获取连接失败<br/>有值就是获取连接成功
         */
        public static Connection getConnection(){
            Connection conn=null;
            try {
                conn=dataSource.getConnection();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return conn;
        }
​
        public static  void closeConn(Connection connection){
            if (connection!=null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
}

4.编写dao层

4.1 BaseDao类

public class BaseDao {
    //它是由DBUtils包提供的一个工具类,需要引入 commons-dbutils 依赖。
    //它与JdbcTemplate功能类似,该类简单化了SQL查询
    QueryRunner runner=new QueryRunner();
​
    /*通用的增删改的方法*/
    public int update(String sql,Object...args){
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值