《JavaWeb与Tomcat》——6.Tomcat&数据库配置

本文详细介绍了如何在Tomcat中配置数据库,涵盖了JDBC的基本使用,包括连接数据库、执行SQL操作和事务管理。此外,还展示了通过JSP显示数据库查询结果的示例代码。进一步讨论了数据库连接池的概念,解释了DataSource的使用方法,包括在context.xml和web.xml中的配置,以及在Java程序中调用DataSource。最后,探讨了DataSource的close方法及其意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这一章主要讲如何在Tomcat里配置数据库;

1.JDBC

Java代码与数据库连接的API,通过导入某种数据库(如MySQL的JDBC驱动)的jar包,通过调用API(Connection、Statement、ResulSet)对数据库操作;

2.JDBC对数据库-事务的支持

image.png

3.写一个数据库显示结果的JSP

Eg:

<!--首先导入一些必要的packages-->
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<!--告诉编译器使用SQL包-->
<%@ page import="java.sql.*" %>
<!--设置中文输出-->
<%@ page contentType="text/html; charset=GB2312" %>
<html>
<head>
    <title>dbaccess.jsp</title>
</head>
<body>
<%
    try {
        Connection con;
        Statement stmt;
        ResultSet rs;
        //加载驱动程序,下面的代码加载MySQL驱动程序
        Class.forName("com.mysql.jdbc.Driver");
        //注册MySQL驱动程序
        DriverManager.registerDriver(new com.mysql.jdbc.Driver());
        //用适当的驱动程序连接到数据库
        String dbUrl = "jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312";
        String dbUser = "root";
        String dbPwd = "root";
        //建立数据库连接
        con = java.sql.DriverManager.getConnection(dbUrl, dbUser, dbPwd);
        //创建一个SQL声明
        stmt = con.createStatement();
        //增加新记录
        //stmt.executeUpdate("insert into BOOKS (ID,NAME,TITLE,PRICE) values('999','Tom','Tomcat Bible',44.5)");
        //查询记录
        rs = stmt.executeQuery("select ID,NAME,TITLE,PRICE from BOOKS");
        //输出查询结果
        out.println("<table border=1 width=400>");
        while (rs.next()) {
            String col1 = rs.getString(1);
            String col2 = rs.getString(2);
            String col3 = rs.getString(3);
            float col4 = rs.getFloat(4);
            //打印所显示的数据
            out.println("<tr><td>" + col1 + "</td><td>" + col2 + "</td><td>" + col3 + "</td><td>" + col4 + "</td></tr>");
        }
        out.println("</table>");
        //删除新增加的记录
        //stmt.executeUpdate("delete from BOOKS where ID='999'");
        //关闭数据库连接
        rs.close();
        stmt.close();
        con.close();
    } catch (Exception e) {
        out.println(e.getMessage());
    }
%>
</body>
</html>

4.数据源DataSource

  • 数据库连接池?

     

  • DataSource?

     

  • 怎么使用DataSource?

     

    (1)配置context.xml

     

     


    (2)配置web.xml

     

    (3)在java程序中调用DataSource/lookup方法

关于DataSource的close方法?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值