• jsp连接数据库(maria)实现操作固定写法


    本文以留言板为例,主要用来记录以及为后期快速开发做准备。
    这种最好用两个jsp来实现,思路比较清晰,不容易混淆,更容易去找问题。前端页面部分以message.jsp为例,后台处理部分(数据库操作)以sql为例。
    一、 message部分
    <%@page import="java.text.SimpleDateFormat" %>//时间格式设置包
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@page import="java.sql.*"%> //数据库操作包
    <%
    Class.forName("org.mariadb.jdbc.Driver"); //maria数据库注册JDBC驱动//Class.forName("com.mysql.jdbc.Driver");//mysql数据库注册JDBC驱动
    Connection conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/messageboard", "bonly", "123456");
    // DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名", "数据库用户名", "对应数据局库用户密码");

    Statement stmt = conn.createStatement();//执行更新数据库
    String sql = "select * from messageboard";//这里是数据库表名
    ResultSet rs = stmt.executeQuery(sql);
    SimpleDateFormat sdf = new SimpleDateFormat();
    sdf.applyPattern("yyyy-MM-dd HH:mm:ss");//时间按照这样的格式显示
    

    %>

    留言板

    留言板

    //类型为隐藏,传值,有其他的需要传值,在用另一个form表单
      <% while (rs.next()) { int id = rs.getInt("id");//转换成整形 String message = rs.getString("message");//从字符串中获取文本 long time = rs.getInt("time") * 1000L;//换算成毫秒,方便计算机显示 String username = rs.getString("username"); String ip = rs.getString("ip"); %>
    • 来自<%= ip%>的 <%=username%> 在<%=sdf.format(time)%>时说到:删除
      <%=message%>
    • <% } %>
    </body>
    

    二、 sql部分

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@page import="java.sql.*" %>
    <%
    request.setCharacterEncoding("utf-8");
    Class.forName("org.mariadb.jdbc.Driver");//圣母数据库注册JDBC驱动
    //Class.forName("com.mysql.jdbc.Driver");//数据库注册JDBC驱动
    Connection conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/messageboard", "bonly", "123456");//连接数据库
    Statement stmt = conn.createStatement();//声明语句,准备工作,创建数据库操作声明,为后面执行操作数据库做准备
    String act = request.getParameter("act");//接受得到参数
    if (act.equals("insert")) {
    String message = request.getParameter("message");
    String username = request.getParameter("username");
    String ip = request.getRemoteAddr();//获取远程ip地址
    int time = (int) (System.currentTimeMillis() / 1000);//换算成秒,默认输出的是毫秒
    String sql = "insert into messageboard (message,username,ip,time) values('" + message + "','" + username + "','" + ip + "','" + time + "')";
    out.println(sql);
    try {
    stmt.executeUpdate(sql);
    out.println("");
    } catch (SQLException e) {
    out.print(e.toString());//打印错误
    out.println("");
    }
    } else if (act.equals("delete")) {

        int id = Integer.parseInt(request.getParameter("id"));
        String sql = "delete from messageboard where id=" + id;
        stmt.executeUpdate(sql);
        out.println("<script>alert('删除成功,点击返回');document.location='message.jsp'</script>");
    }
    stmt.close();
    conn.close();
    

    %>

  • 相关阅读:
    给object数组进行排序(排序条件是每个元素对象的属性个数)
    转化一个数字数组为function数组(每个function都弹出相应的数字)
    找出数字数组中最大的元素(使用Math.max函数)
    JavaFX学习笔记索引
    JavaFX学习:第一个程序 Hello World
    Notion笔记链接
    Windows 下 Chocolatey 的安装与使用
    Bootstrap3 文档整理
    (转)OpenCV视频生成报错 Incorrect library version loaded Could not open codec ‘libopenh264‘: Unspecified error
    OpenCV不能读取 mp4 的问题(转)
  • 原文地址:https://www.cnblogs.com/bonly-ge/p/6950530.html
Copyright © 2020-2023  润新知