初始数据库截图
UserBean.java
package com.media.bean;
public class UserBean {
private String username;
private String password;
private int gender;
private int age;
private int status;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
}
注册页面
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<form method="post" action="register.jsp">
用户名:<input type="text" name="username"><br>
密码: <input type="text" name="password"><br>
性别: <input type="text" name="gender"><br>
年龄: <input type="text" name="age"><br>
<button type="submit">注册</button>
</form>
</body>
</html>
使用Statement在数据库增加用户
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="com.media.bean.UserBean" %><%--
Created by IntelliJ IDEA.
User: 和
Date: 2020/10/7
Time: 8:38
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean>
<jsp:setProperty name="user" property="*"></jsp:setProperty>
<%
//user对象实例化
//UserBean user = new UserBean();
//给对象赋值
//user.setUsername(request.getParameter("username"));
//user.setPassword(request.getParameter("password"));
//数据库操作
//1 加载驱动程序
Class.forName("com.mysql.jdbc.Driver"); //如果执行到此位置报错 标识驱动的jar包没有加载成功
//2 建立数据库连接 10.3.22.1
String url = "jdbc:mysql://127.0.0.1:3306/book?user=root&password=root";//book 为数据库名
//String url = "jdbc:mysql://127.0.0.1:3306
Connection connection = DriverManager.getConnection(url);//获得连接对象 //alt + 回车 自动导入类 如果报此行有问题说明 数据库的连接地址或用户名和密码有问题
//3 创建Statement对象 执行sql语句 alt+enter 自动引入缺失的类
Statement stmt = connection.createStatement();
// sql 插入语句值是字符串 必须使用单引号
String sql = "insert into user (username,password,gender,age) values('"+user.getUsername()+"','"+user.getPassword()+"',1,23)";
//String sql = "update user set status = 3 where id = 11";
//String sql = "delete from user where id = 11"; 执行sql语句时id 保证数据库中存在该数据
//使用Statement 对象执行sql语句 增删改的数据库操作使用executeUpdate
int count = stmt.executeUpdate(sql); //如果报此行有错误 数码上一行的sql语句是有问题的 请检查数据库
if(count == 0 ){
out.print("注册失败"); //如果能执行到此位置 表示数据库操作是成功 数据库的数据是没有发生变化 否则的肯定有异常
}else{
out.print("注册成功");
}
%>
使用PreparedStatement语句增加用户
<%@ page import="javax.swing.plaf.nimbus.State" %>
<%@ page import="com.mysql.jdbc.PreparedStatement" %>
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean>
<jsp:setProperty name="user" property="*"></jsp:setProperty>
<%
lass.forName("com.mysql.jdbc.Driver");//报错,说明驱动包没有完成
//建立数据库连接 18.3.22.1
String url ="jdbc:mysql://127.0.0.1:3306/book";
Connection connection = DriverManager.getConnection(url,"book","book");
String sql = "insert into user(username,password,gender,age) values (?,?,?,?)";
PreparedStatement temt = (PreparedStatement) connection.prepareStatement(sql);
temt.setString(1,request.getParameter("username"));
temt.setString(2,request.getParameter("password"));
temt.setString(3,request.getParameter("gender"));
temt.setInt(4, Integer.parseInt(request.getParameter("age")));
ResultSet rs = temt.executeQuery();
%>
增加用户admin3,如图所示
使用Statement执行,实现删除操作
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Statement" %>
<jsp:setProperty name="user" property="*"></jsp:setProperty>
<%
lass.forName("com.mysql.jdbc.Driver"); String url ="jdbc:mysql://127.0.0.1:3306/book?user=root&password=root";
Connection connection = DriverManager.getConnection(url);
Statement stmt = connection.createStatement();
String sql="delete from user where id = 4 ";
int count = stmt.executeUpdate(sql);
if(count == 0){
out.print("删除失败");
}else{
out.print("删除成功");
}
%>
使用PreparedStatement语句,实现删除操作
<%@ page import="java.sql.*" %><%--
Created by IntelliJ IDEA.
User: 吧
Date: 2020/10/6
Time: 14:12
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>主页</title>
</head>
<body>
<%
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//建立数据库连接
String url = "jdbc:mysql://localhost:3306/book";
Connection connection = DriverManager.getConnection(url,"root","root");
//预定义对象
String sql = "delete from user where id = ? ";//使用问号代替参数
PreparedStatement pstm = connection.prepareStatement(sql);
pstm.setInt(1);
删除admin1
使用Statement语句,实现修改用户
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.Driver" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="javax.swing.plaf.nimbus.State" %>
<%@ page import="java.sql.Statement" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean>
<jsp:setProperty name="user" property="*"></jsp:setProperty>
<%
lass.forName("com.mysql.jdbc.Driver"); String url ="jdbc:mysql://127.0.0.1:3306/book?user=root&password=root";
Connection connection = DriverManager.getConnection(url);
Statement stmt = connection.createStatement();
String sql = "update user set status = 3 where id= 2";
int count = stmt.executeUpdate(sql);
if(count == 0){
out.print("修改失败");
}else{
out.print("修改成功");
}
%>
使用PreparedStatement语句,实现修改操作
<%@ page import="javax.swing.plaf.nimbus.State" %>
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean>
<jsp:setProperty name="user" property="*"></jsp:setProperty>
<%
Class.forName("com.mysql.jdbc.Driver");//报错,说明驱动包没有完成
//建立数据库连接 18.3.22.1
String url ="jdbc:mysql://127.0.0.1:3306/book";
Connection connection = DriverManager.getConnection(url,"book","book");
String sql="update user set status=? where status=?";
PreparedStatement pstm=connection.prepareStatement(sql);
pstm.setInt(2,3);
%>
未修改数据库
代码运行时
修改后的数据库
使用Statement查询用户
<%@ page import="javax.swing.plaf.nimbus.State" %>
<%@ page import="com.mysql.jdbc.PreparedStatement" %>
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean>
<jsp:setProperty name="user" property="*"></jsp:setProperty>
<%
Statement stmt = connection.createStatement();
String sql = "select * from user where username = '"+request.getParameter("username")+"'";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
out.print(rs.getString("username")+"-"+rs.getString(1)+"<br>");
}
%>
使用PreparedStatement查找用户
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>主页</title>
</head>
<body>
<%
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/book";
Connection connection = DriverManager.getConnection(url,"root","root");
String sql = "select * from user where username = ? and password = ? ";//使用问号代替参数
PreparedStatement temt = connection.prepareStatement(sql);
temt.setString(1,request.getParameter("username"));
temt.setString(2,request.getParameter("password"));
ResultSet rs = temt.executeQuery();
while (rs.next())
{
out.print(rs.getString("username")+"-"+rs.getString(2)+"<br>");
}
%>
</body>
</html>
所有用户
查找到的用户