JavaWeb的学习可能要告一段落了,下一阶段可能是学习框架...
这几天也做完了使用三层架构重构Login项目,Entity实体类,使用类减少重复代码的工作,就不贴出来了
关于增删改users表的代码
Utils
package com.DAL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class sqlUtils {
private String DBName;
private String UserName;
private String PassWord;
private String Host;
private Connection conn;
private PreparedStatement pst;
private ResultSet rs;
/**
* 通过参数的构造器传入连接数据库所需要的数据
*
* @param Host
* //主机的IP或者域名
* @param DBName
* //所连接数据库的名称
* @param UserName
* //数据库的用户名
* @param PassWord
* //数据库的密码
*/
public sqlUtils(String Host, String DBName, String UserName, String PassWord) {
super();
this.Host = Host;
this.DBName = DBName;
this.UserName = UserName;
this.PassWord = PassWord;
}
// 数据库的连接方法
private void getConnection() {
String URL = "jdbc:mysql://" + Host + ":3306/" + DBName;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, UserName, PassWord);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 数据的查询方法
*
* @param sql
* //查询的SQL语句
* @return//返回ResultSet结果集
*/
public ResultSet executeQuery(String sql) {
try {
this.getConnection();
pst = conn.prepareStatement(sql);
return rs = pst.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/**
* 数据库的更新方法--增加,修改,删除
*
* @param sql
* //更新数据库的SQL语句
* @return//返回一个整数,大于0说明更新成功
*/
public int executeUpdate(String sql) {
try {
this.getConnection();
pst = conn.prepareStatement(sql);
return pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
// 关闭数据库连接
public void close() {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pst != null) {
try {
pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
增
<%@ page language="java" import="java.util.*,java.sql.*,com.DAL.*"
pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>数据库的add</title>
</head>
<body>
<!-- 提交的表单 -->
<form action="/MyWeb/DAL/Add.jsp" method="post">
增加的id <input name="id"><br>增加id的username <input
name="username"><br>增加id的password <input name="password">
<br> <input type="submit" value="提交">
</form>
<hr>
<a href="/MyWeb/index.jsp">返回</a>
<%
//获取传来的值
String id = request.getParameter("id");
String username = request.getParameter("username");
String password = request.getParameter("password");
//数据库操作
String sql = "INSERT INTO `users` (`id`, `username`, `password`) VALUES ('"
+ id + "', '" + username + "', '" + password + "');";
sqlUtils su = new sqlUtils("localhost", "mybase", "root", "root");
su.executeUpdate(sql);
su.close();
%>
</body>
</html>
删
<%@ page language="java" import="java.util.*,java.sql.*,com.DAL.*"
pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>数据库的Delete</title>
</head>
<body>
<form action="/MyWeb/DAL/Delete.jsp" method="get">
要删除的id <input name="id"><br> <input type="submit"
value="提交">
</form>
<hr>
<a href="/MyWeb/index.jsp">返回</a>
<%
String id = request.getParameter("id");
String sql = "delete from users where id=" + id + "";
sqlUtils su = new sqlUtils("localhost", "mybase", "root", "root");
su.executeUpdate(sql);
su.close();
%>
</body>
</html>
改
<%@ page language="java" import="java.util.*,java.sql.*,com.DAL.*"
pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>数据库的Update</title>
</head>
<body>
<form action="/MyWeb/DAL/Update.jsp" method="post">
更改的id <input name="3"><br>username <input name="1"><br>password
<input name="2"> <br> <input type="submit" value="提交">
</form>
<hr>
<a href="/MyWeb/index.jsp">返回</a>
<%
String name = request.getParameter("1");
String passwd = request.getParameter("2");
String id = request.getParameter("3");
sqlUtils su = new sqlUtils("localhost", "mybase", "root", "root");
String sql = "UPDATE `users` SET `username`='" + name
+ "', `password`='" + passwd + "' WHERE (`id`='" + id
+ "');";
su.executeUpdate(sql);
su.close();
%>
</body>
</html>
效果如图
登录成功后才可以进行操作