javaweb3 sql

本文介绍了一个使用Java实现的Web应用程序如何与MySQL数据库进行交互的过程。通过展示具体的代码示例,包括用户类的设计、数据库连接的建立以及通过JSP页面实现SQL语句的动态执行等,帮助读者理解整个系统的运作流程。

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

user

package dbc;



public class user {
private int id;
private int pwd;
private String name;
private double weight;
private String tel;
public user() {}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getPwd() {
return pwd;
}
public void setPwd(int pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}


}

jdbc

package dbc;

import java.sql.*;


public class jdbc {
Connection conn=null;
public Connection getConnection() throws ClassNotFoundException, SQLException {
String user="root";
String drivername="com.mysql.jdbc.Driver";
String usepwd="test";
String dbname="sys";
String url1="jdbc:mysql://localhost:3306/"+dbname;
String url2="?user="+user+"&password="+usepwd;
String url3="&useUnicode=true&characterEncoding=UTF-8";
String url=url1+url2+url3;
Class.forName(drivername);
try{conn=DriverManager.getConnection(url);
return conn;}catch(Exception e) {
e.printStackTrace();
return null;
}
}
}

web3.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
       <%@ page   import="dbc.user" import="java.util.ArrayList" import="java.util.List"%>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="web3-1.jsp"method="post">
<div align="center">
<br><br><br><br><br><br><br>
请输入sql语句:<input type="text" name="sql"><br><br>
<input type="submit" value="提交">
</div>
</form><br><br>
<table border="1"align="center" valign="center">
<% List<user>list=(ArrayList<user>)request.getAttribute("list");
if(list!=null){%>
<tr><td>账号</td><td>密码</td><td>姓名</td><td>体重</td><td>电话</td></tr>
<% user o=new user();
for(int i=0;i<list.size();i++){
o=(user)list.get(i);%>
<tr>
<td><%=o.getId() %></td>
<td><%=o.getPwd() %></td>
<td><%=o.getName() %></td>
<td><%=o.getWeight() %></td>
<td><%=o.getTel() %></td>
</tr>
<% }}%>
</table>


</body>
</html>

web3-1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
   <%@ page import="java.sql.*"  import="dbc.user" import="java.util.List" import="java.util.ArrayList"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<div align="center">
   <br><br><br><br><br><br><br>


<%
String drivername="com.mysql.jdbc.Driver";
String username="root";

String userpwd="test";

String dbname="sys";
String url1="jdbc:mysql://localhost:3306/"+dbname;
String url2="?user="+username+"&password="+userpwd;
String url3="&useUnicode=true&characterEncoding=UTF-8";
String url=url1+url2+url3;
Class.forName(drivername);
Connection conn=DriverManager.getConnection(url);

response.setContentType("text/html;charset=UTF-8");
String sql=request.getParameter("sql");
String sq=sql;
PreparedStatement pstmt=conn.prepareStatement(sql);%>
<% String part=sql.substring(0, 6);
if(part.equals("select")){
ResultSet rs=pstmt.executeQuery();
if(!rs.next()){
out.print("sql语句输入错误!");
}
 
else{
  List<user>list=new ArrayList<user>();


rs.beforeFirst();
while(rs.next()){
user u=new user();
u.setId(rs.getInt(1));
u.setPwd(rs.getInt(2));
u.setName(rs.getString(3));
u.setWeight(rs.getDouble(4));
u.setTel(rs.getString(5));
list.add(u);
}
request.setAttribute("list", list);
/* user u=new user();
for(int i=0;i<list.size();i++){
u=(user)list.get(i);
out.print(u.getId());
}*/
%>
<jsp:forward page="web3.jsp"></jsp:forward>

 
</div>



<%

}
}
else if(part.equals("insert")){
String sql3="select id from java";
PreparedStatement pstmt3=conn.prepareStatement(sql3);
ResultSet rs3=pstmt3.executeQuery();
  String b[]=sql.split(" ");
  String c[]=b[3].split(",");
  String d=c[0].substring(7);
  int d1=Integer.parseInt(d);
  int flag=0;
while(rs3.next()){
 int s=rs3.getInt("id");
if(d1==s){
out.print("用户已被注册,请重新输入!");
flag=1;break;
}
}
if(flag==0)
{
int n=pstmt.executeUpdate();
if(n==0){
out.print("sql语句输入错误!");
}
else{
out.print("插入成功,操作记录:1条");
}
 
}





}
else if(part.equals("delete")){
String sql1="select * "+sql.substring(7);
PreparedStatement pstmt1=conn.prepareStatement(sql1);
  ResultSet rs1=pstmt1.executeQuery();
  rs1.last();
  if(rs1.getRow()==0){
  out.print("sql语句输入错误!");
  }
  else{
  out.print("删除成功,操作记录:"+rs1.getRow()+"条");
  int n=pstmt.executeUpdate();
  }
}
else{
String p[]=sql.split(" ");
String sql2="select * from java where "+p[5];
PreparedStatement pstmt2=conn.prepareStatement(sql2);
  ResultSet rs2=pstmt2.executeQuery();
  rs2.last();
  if(rs2.getRow()==0){
  out.print("sql语句输入错误!");
  }
  else{
  out.print("更新成功,操作记录:"+rs2.getRow()+"条");
  int n=pstmt.executeUpdate();
  }

}

%>
</body>


</html>

ps:插入操作目前不能插入汉字,否则会报错。不知道为什么上课问老师。

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值