定制开发JSP连接MySQL数据库

✅作者简介:定制开发热爱国学的者,定制开发修心和技术同步精进。
🍎个人主页:
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:
✨特色专栏:
🥭本文内容:JSP连接MySQL数据库
定制开发更多内容点击👇
      

文章目录


  动态Web定制开发程序运行在Web容器之中,利用Web定制开发容器可以使用JDBC定制开发技术来实现数据库数据的CRUD操作,定制开发将数据表中的数据取出并结合JSP动态生成HTML定制开发页面进行显示。

JSP定制开发中的程序配置

  定制开发本文开发使用的是MySQL数据库,定制开发如果要想使用MySQL数据库,定制开发则一定要在Tomcat中进行MySQL定制开发驱动程序的配置。定制开发这个配置可以考虑将获取到的MySQL的程序包 jar包 定制开发保存到你本地的Tomcat文件夹中的 lib 文件目录中。

  在Tomcat或者是项目之中所有的XML文件配置之后必须重新启动Tomcat才可以实现新的配置项加载,如果要在Tomcat中增加新的程序包,也必须重新启动后才能加载。

注意:

你可以下载官网提供的 jar 包:




下载后把 mysql-connector-java-<对应版本>-bin.jar 拷贝到 tomcat 下 lib 目录。

MySQL 8.0 以上版本的数据库连接有所不同:

  • com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver。

  • MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显示关闭。

  • 最后还需要设置 CST。

MySQL中创建表

  既然要进行数据的开发操作,则首先一定要进行数据库的创建,本次创建一张手机信息表,并且配置好相应的测试数据。

范例:创建手机信息表

CREATE TABLE phone(`pid` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,`brand` VARCHAR(20) NOT NULL,`type` VARCHAR(20) NOT NULL,`birthday` DATE NOT NULL,`price` DOUBLE NOT NULL,`color` VARCHAR(20) NOT NULL,`card` VARCHAR(20) NOT NULL UNIQUE)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

插入一些数据:

INSERT INTO phone VALUES(1001,'华为','P30','2018-10-10',3500,'白色','HB1214512412');INSERT INTO phone VALUES(1002,'小米','10Plus','2020-02-02',3222,'蓝色','XM5765424335');INSERT INTO phone VALUES(1003,'荣耀','30Pro','2020-08-22',2888,'白色','RY4815645687');
  • 1
  • 2
  • 3

数据表显示如下:

JSP中SELECT操作

  如果要想使用JDBC实现数据表中的数据查询,那么肯定要通过PreparedStatement接口实现查询操作,本次仅仅是实现查询全部数据的需要。

范例:查询数据表所有数据

<%@ page contentType="text/html;charset=UTF-8" language="java" %>  <%-- 定义页面中文显示编码 --%><%@ page import="java.sql.*" %>  <%-- 导入开发包 --%><html><head>    <title>$Title$</title></head><body><%!    public static final String DBDRIVER="com.mysql.jdbc.Driver";//驱动程序    public static final String DBURL="jdbc:mysql://localhost:3306/java221804";//连接地址    public static final String USER="root";//用户名    public static final String PASSWORD="huanghuang";//密码%><%    String sql="select * from phone;";//SQL查询语句    Class.forName(DBDRIVER);//加载驱动程序    Connection conn=DriverManager.getConnection(DBURL,USER,PASSWORD);//连接数据库    PreparedStatement pstmt=conn.prepareStatement(sql);//操作PreparedStatement对象    ResultSet rs=pstmt.executeQuery();//执行查询,并存入ResultSet结果集中%><table border="1" width="100%">    <thead><tr><td>编号</td><td>品牌</td><td>型号</td><td>出厂日期</td><td>价格</td><td>颜色</td><td>手机编码</td></tr></thead>    <tbody>    <%        while (rs.next()){//从ResultSet结果集中循环获取数据            int pid=rs.getInt(1);            String brand=rs.getString(2);            String type=rs.getString(3);            Date birthday=rs.getDate(4);            double price=rs.getDouble(5);            String color=rs.getString(6);            String card=rs.getString(7);    %>    <tr>        <td><%=pid%></td>        <td><%=brand%></td>        <td><%=type%></td>        <td><%=birthday%></td>        <td><%=price%></td>        <td><%=color%></td>        <td><%=card%></td>    </tr>    <%        }    %>    </tbody></table><%    //关闭连接,如果不关闭就再也关闭不了,除非重新启动Tomcat    conn.close();%></body></html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

  本程序在JSP中实现了MySQL数据库的链接,随后利用PreparedStatement语句实现了 phone 表的查询,所有查询的记录将利用循环拼凑为HTML表格元素进行展示。

执行结果显示如下:

  实际上看到以上程序代码执行后,就可以非常清楚的发现,整个JavaWEB开发和Java的开发基本上是没有啥太大去别的,都是编写Java代码,只要你Java基本功扎实,那么这种程序实际上编写起来就非常容易了。

JavaBean 定义与使用

  为了提高Java程序代码的可重用性,往往会将一些重复执行的代码封装在类结构之中,而这样的类也被称为JavaBean。在IDEA中的Web开发中,创建此封装类的位置结构图如下:

第一步:创建db.properties文件

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/java221804username=rootpassword=huanghuang
  • 1
  • 2
  • 3
  • 4

第二步:创建数据库封装类——DBUtils类

package cn.lqgx.insert;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class DBUtils {    private static final Properties PROPERTIES =new Properties();    static{        InputStream is = DBUtils.class.getResourceAsStream("/db.properties");        try {            PROPERTIES.load(is);            //1、注册驱动            Class.forName(PROPERTIES.getProperty("driver"));        } catch (IOException e) {            e.printStackTrace();        } catch (ClassNotFoundException e) {            e.printStackTrace();        }    }    // 2、获取连接方法    public static Connection getConnection(){        Connection connection = null;        //2、获取连接对象        try {            connection=DriverManager.getConnection(PROPERTIES.getProperty("url"), PROPERTIES.getProperty("username"), PROPERTIES.getProperty("password"));        } catch (SQLException e) {            e.printStackTrace();        }        return connection;    }    // 3、释放资源方法    public static void closeAll(ResultSet resultSet, Statement statement,                                Connection connection) {        try {            if (resultSet != null) {                resultSet.close();            }            if(statement!=null){                statement.close();            }            if(connection!=null){                connection.close();            }        } catch (SQLException e) {            e.printStackTrace();        }    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57

最后通过JSP调用JavaBean数据库操作封装类

范例:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>  <%-- 定义页面中文显示编码 --%><%@ page import="java.sql.*" %>  <%-- 导入开发包 --%><%@ page import="cn.lqgx.insert.DBUtils" %>  <%-- 导入自定义的JavaBean数据库操作封装类 --%><html><head>  <title>$Title$</title></head><body><%  String sql = "select * from phone;";//SQL查询语句  Connection conn = DBUtils.getConnection();//连接数据库  PreparedStatement pstmt1 = conn.prepareStatement(sql);//操作PreparedStatement对象  ResultSet rs = pstmt1.executeQuery();//执行查询,并存入ResultSet结果集中%><table border="1" width="100%">  <thead>  <tr>    <td>编号</td>    <td>品牌</td>    <td>型号</td>    <td>出厂日期</td>    <td>价格</td>    <td>颜色</td>    <td>手机编码</td>  </tr>  </thead>  <tbody>  <%    while (rs.next()) {//从ResultSet结果集中循环获取数据      int pid = rs.getInt(1);      String brand = rs.getString(2);      String type = rs.getString(3);      Date birthday = rs.getDate(4);      double price = rs.getDouble(5);      String color = rs.getString(6);      String card = rs.getString(7);  %>  <tr>    <td><%=pid%>    </td>    <td><%=brand%>    </td>    <td><%=type%>    </td>    <td><%=birthday%>    </td>    <td><%=price%>    </td>    <td><%=color%>    </td>    <td><%=card%>    </td>  </tr>  <%    }  %>  </tbody></table><%  //关闭连接,如果不关闭就再也关闭不了,除非重新启动Tomcat  conn.close();%></body></html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66

程序执行结果如下:


  本程序直接通过开发的DBUTils工具类获取了数据库的连接对象,这样就相当于将所有的数据库连接与关闭处理封装在了一个JavaBean中,以实现代码的可重用性,在调用时只需要通过page指令导入相关的程序类即可实现类中方法的调用。


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:,学习技术的同时,我们也注重了心性的养成。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发