• jsp中使用动态数据进行mySQL数据库的两种操作方法


    使用动态数据进行数据库内容的增删改查操作有两种方法:
    在此定义数据库连接为conn
    假设有表单进行数据输入并提交到处理页面
    一种是使用预编译格式:
    其格式如下:

    		String name = request.getParameter("name");//获取前页表单中name为name的值
    		String password = request.getParameter("password");//获取前页表单中name为password的值
    		String sql = "insert into user values(null,?,?)";//定义数据库操作语句
    		PreparedStatement pst = conn.prepareStatement(sql);//创建预编译对象
    		pst.setString(1,name);//为第一个?赋值,将表单获取的name值赋给第一个?
    		pst.setString(2,password);//为第二个?赋值,将表单获取的password值赋给第二个?
    		pst.executeUpdate();//执行数据插入操作
    

      

    二种是使用普通格式:
    其格式如下:

    		String name = request.getParameter("name");//获取前页表单中name为name的值
    		String password = request.getParameter("password");//获取前页表单中name为password的值
    		String sql = "insert into user values(null,'" + name + "','" + password + "')";//定义数据库操作语句
    		Statement state = conn.createStatement();//创建Statement对象
    		state.executeUpdate(sql);//执行数据插入操作
    

    具体代码如下:

    表单页面:form.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title></title>
      </head>
      <body>
        <form action="preparedStatement_test.jsp" method = "get">
        	<input type = "text" name = "name" />
        	<input type = "password" name = "password" />
        	<input type = "submit" />
        </form>
      </body>
    </html>
    

    数据处理页面:preparedStatement_test.jsp

    <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title></title>
      </head>
      <body>
        <%
        	String url = "jdbc:mysql://localhost:3306/javaweb";
        	String root = "root";
        	String pass = "123456";
        	Connection conn = null;
        	try{
        	//指定数据库驱动文件
        	Class.forName("com.mysql.jdbc.Driver");
        	conn = DriverManager.getConnection(url,root,pass);
        	}catch(ClassNotFoundException cnfe){
        		out.print("找不到驱动器文件!");
        	}catch(SQLException se){
        		out.print("数据库连接失败!");
        	}
        %>
        <%
        	String name = request.getParameter("name");
        	String password = request.getParameter("password");
        	String sql = "insert into user values(null,?,?)";
        	PreparedStatement pst = null;
        	try{
    	    	pst = conn.prepareStatement(sql);
    	    	pst.setString(1,name);
    	    	pst.setString(2,password);
    	    	pst.executeUpdate();
    	    	out.print("数据保存成功!");
        	}catch(SQLException se){
        		out.print("添加数据出错!");
        	}
        %>
        <%
        	//从服务器取出数据并显示
        	String sql1 = "select * from user where name = ?";
        	pst = conn.prepareStatement(sql1);
        	pst.setString(1,name);
        	ResultSet rs = pst.executeQuery();
        	out.print("<table><tr><td colspan = '3'>您的数据</td></tr>");
        	out.print("<tr><td>id</td><td>name</td><td>password</td></tr>");
        	while(rs.next()){
        		out.print("<tr><td>" + rs.getInt(1) + "</td><td>" + rs.getString(2) + "</td><td>" + rs.getString(3) + "</td></tr>");
        	}
        	out.print("</table>");
        %>
      </body>
    </html>
    

      

  • 相关阅读:
    软件工程实践 2017 第二次作业(部分)
    2017 软件工程实践第一次作业-031502627
    struct与class区别联系(转)
    个人作业——软件工程实践总结作业
    个人作业——软件产品案例分析
    个人技术博客(α)
    结对作业2
    软工作业2
    软工作业1
    作业7 学期总结
  • 原文地址:https://www.cnblogs.com/V1haoge/p/5621138.html
Copyright © 2020-2023  润新知