连接数据库,并用表格输出数据

创建insex.jsp

<table border="1" width="80%" align='center'>
<tr>
<td>序号</td>
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>出生日期</td>
<td>操作</td>
</tr>
<%
int n=0;
String driver_class="com.mysql.cj.jdbc.Driver";
String serverip="localhost";
String databasename="oa";
String username="root";
String pwd="123456";
String jdbcUrl="jdbc:mysql://"+serverip+":3306/"+databasename+"?serverTimezone=Asia/Shanghai&useSSL=true";
Class.forName(driver_class);
Connection conn= DriverManager.getConnection(jdbcUrl,username,pwd);
PreparedStatement pst= conn.prepareStatement("select * from student");
ResultSet rs= pst.executeQuery();

//ResultSet 一个指向数据库的变量,是不包含内容的

while(rs.next()){
n++;
%>
<tr>
<td><%=n %></td>
<td><%=rs.getString("id") %></td>
<td><%=rs.getString("user_name") %></td>
<td><%=rs.getString("sex") %></td>
<td><%=rs.getString("birthday") %></td>
<td>
<a href="insert_action.jsp">添加</a>
<a href="delete.jsp?id=<%=rs.getString("id")%>">删除</a>
<a href="update_action.jsp?id=<%=rs.getString("id")%>&name=<%=rs.getString("user_name")%>&bir=<%=rs.getString("birthday")%>">修改</a></td>
</tr>
<%
}

pst.close();
conn.close();
%>
</table>
<%out.print("合计"+n+"记录"); %>

运行结果如下:

创建delete.jsp

<%
String id=request.getParameter("id");
String driver_class="com.mysql.cj.jdbc.Driver";
String serverip="localhost";
String databasename="oa";
String username="root";
String pwd="123456";
String jdbcUrl="jdbc:mysql://"+serverip+":3306/"+databasename+"?serverTimezone=Asia/Shanghai&useSSL=true";
Class.forName(driver_class);
Connection conn= DriverManager.getConnection(jdbcUrl,username,pwd);
PreparedStatement pst1=conn.prepareStatement("delete from student where id=?");
pst1.setString(1,id);
pst1.execute();
pst1.close();
conn.close();

response.sendRedirect("index.jsp");
%>

在之前的insex.jsp中已经调用过了

运行后:从7条减为6条了

创建insert_action.jsp

<form action='insert.jsp' method="post">
请输入姓名:
<input type='text' name='username'>
<br>
请输入性别:
<input name="radiobutton" type="radio" value="男" checked>

<input type="radio" name="radiobutton" value="女">

<br>
请输入出生日期:
<input type='text' name='birthday'>
</p>
<p>
<input type="submit" name="submit" value='添加'>
</p>
</form>

创建insert.jsp

<%

String name=request.getParameter("username");
name=new String(name.getBytes("iso-8859-1"),"UTF-8");
String sex=request.getParameter("radiobutton");
sex=new String(sex.getBytes("iso-8859-1"),"UTF-8");
String birthday=request.getParameter("birthday");

String driver_class="com.mysql.cj.jdbc.Driver";
String serverip="localhost";
String databasename="oa";
String username="root";
String pwd="123456";
String jdbcUrl="jdbc:mysql://"+serverip+":3306/"+databasename+"?serverTimezone=Asia/Shanghai&useSSL=true";
Class.forName(driver_class);
Connection conn= DriverManager.getConnection(jdbcUrl,username,pwd);
PreparedStatement pst1=conn.prepareStatement("insert into student(user_name,sex,birthday)values(?,?,?)");
pst1.setString(1,name);
pst1.setString(2,sex);
pst1.setString(3,birthday);
pst1.execute();
pst1.close();
conn.close();

response.sendRedirect("index.jsp");
%>

在之前的index.jsp中

点击添加后

输入数据再点击添加按钮

可以看到数据添加成功了

创建update_action.jsp

<form action='update.jsp' method="post">
<%
String n=request.getParameter("id");
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String birthday=request.getParameter("bir");
%>
<input type='text' name='id'value='<%=n%>' style='display:none'>
请输入姓名:
<input type='text' name='username'value='<%=name%>'>
<br>
请输入性别:
<script type="text/javascript">
function loadsex(){
<%
if(sex.equals("男")){
%>
document.getElementById("radiobutton1").checked="checked";
document.getElementById("radiobutton2").checked="";
<%
}else{
%>
document.getElementById("radiobutton1").checked="";
document.getElementById("radiobutton2").checked="checked";
<%
}
%>
}
onload=loadsex;
</script>
<input name="radiobutton" type="radio" value="男" id="radiobutton1" checked>

<input type="radio" name="radiobutton" value="女" id="radiobutton2">

<br>
请输入出生日期:
<input type='text' name='birthday'value='<%=birthday%>'>
</p>
<p>
<input type="submit" name="submit" value='修改'>
</p>
</form>

在创建update.jsp

<%
String id=request.getParameter("id");
String name=request.getParameter("username");
name=new String(name.getBytes("iso-8859-1"),"UTF-8");
String sex=request.getParameter("radiobutton");
sex=new String(sex.getBytes("iso-8859-1"),"UTF-8");
String birthday=request.getParameter("birthday");
String driver_class="com.mysql.cj.jdbc.Driver";
String serverip="localhost";
String databasename="oa";
String username="root";
String pwd="123456";
String jdbcUrl="jdbc:mysql://"+serverip+":3306/"+databasename+"?serverTimezone=Asia/Shanghai&useSSL=true";
Class.forName(driver_class);
Connection conn= DriverManager.getConnection(jdbcUrl,username,pwd);
PreparedStatement pst1=conn.prepareStatement("update student set user_name=?,sex=?,birthday=? where id=?;");
pst1.setString(1,name);
pst1.setString(2,sex);
pst1.setString(3,birthday);
pst1.setString(4,id);
pst1.execute();
pst1.close();
conn.close();

response.sendRedirect("index.jsp");
%>

在之前的index.jsp中

点击修改后,出现修改前的数据,直接在文本框中修改即可

把傻明改为明za,再点击修改按钮

Java连接MYSQL进行操作(增,删,改)的更多相关文章

  1. django单表操作 增 删 改 查

    一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取出数据. 目的:通过classes(班 ...

  2. Mysql基本操作语句 增-删-改-查

    增 INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2) 删 DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子 ...

  3. java连接MySQL数据库操作步骤

    package com.swift; //这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connecti ...

  4. 使用JDBC连接MySQL数据库操作增删改查

    目录 1.首先这个Myeclipse的包名以及一些实现的类(这样子写是我的习惯) 2.接下来我们创建数据库(MySQL) 3.在数据库里面添加数据 4.首先是BaseDao,这个是重中之重,注意那个数 ...

  5. C# ADO.NET (sql语句连接方式)(增,删,改)

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  6. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  7. Java连接MySQL数据库及简单操作代码

    1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...

  8. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  9. 【JDBC】Java 连接 MySQL 基本过程以及封装数据库工具类

    一. 常用的JDBC API 1. DriverManager类 : 数据库管理类,用于管理一组JDBC驱动程序的基本服务.应用程序和数据库之间可以通过此类建立连接.常用的静态方法如下 static ...

随机推荐

  1. nginx配置 负载均衡

    配置nginx #配置虚拟主机 server { listen 80; server_name www.testaaa.com; location / { #root /usr/local/nginx ...

  2. JS 中按键处理

    <script type="text/javascript">        //关于键的问题        onload = function () {        ...

  3. CORS 专题

    CORS(跨域资源共享,Cross-Origin Resource Sharing)CORS其实出现时间不短了,它在维基百科上的定义是:跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web ...

  4. 微信小程序把玩(四)应用生命周期

    原文:微信小程序把玩(四)应用生命周期 App() 函数用来注册一个小程序,注意必须在 app.js 中注册,且不能注册多个. 使用方式也跟Android中的Application中初始化一些全局信息 ...

  5. Android零基础入门第89节:Fragment回退栈及弹出方法

    在上一期分享的文章末尾留了一个课后作业,有去思考如何解决吗?如果已经会了那么恭喜你,如果还不会也没关系,本期一起来学习. 一.回退栈 在前面两期的示例中,当我们完成一些操作后,如果想要回到操作之前的状 ...

  6. Linux中的进程

    进程,线程,程序 通俗的说,进程是程序的一次执行过程,程序是一种静态概念,如果在系统中引入线程,则进程是资源分配单元,线程是系统执行单元.此处不懂应参阅<操作系统> 进程衍生 fork-e ...

  7. 给变量赋值,程序会跳到 HardFault_Handler的问题

    原因:变量属于指针,该指针没有初始化

  8. 使用VS2010开发Qt程序的4点经验(QT4到QT5的升级,更改sln文件,切换工程使用的Qt库,在VS的Solution Explorer视图中建立文件夹)

    导读 相比于Qt Creator,我更喜欢用VS2010来进行开发.虽然启动时间相对较慢,但是VS下强大的快捷键和丰富的插件,以及使用多年的经验,都让我觉得在开发过程中得心应手.其中最重要的一点是,有 ...

  9. 最近公共祖先(least common ancestors algorithm)

    lca问题是最近公共祖先问题,一般是针对树结构的.现在有两种方法来解决这样的问题 1. On-line algorithm 用比较长的时间做预处理.然后对每次询问进行回答. 思路:对于一棵树中的两个节 ...

  10. Spring Cloud Config 使用SVN 和 git方式的相关配置

    文件的存储方式: 1.使用svn 当做配置中心 config server的配置方式: 引入svn的包 <dependency> <groupId>org.tmatesoft. ...