首先得搞清楚maven是什么?
Maven是一款服务于Java平台的自动化构建工具。Maven 作为 Java 项目管理工具,可以用作包管理,可以支持整个项目的开发、打包、测试及部署等一系列行为。
maven的好处?
maven在idea还有其他开发工具上创建出来的项目目录一样的,还可以自动管理jar包。
那么我们将用maven来进行Java中增删改查进行处理
首先创建一个首页
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a href="select.html">查看学生数据</a><br/>
<a href="delete.html">删除学生数据</a><br/>
<a href="insert.html">增加学生数据</a><br/>
<a href="update.html">修改学生数据</a><br/>
</body>
</html>
然后我们进行创建各自的连接
查看数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body onload="f()">
<table id="t" border="2px" align="center">
</table>
<a href="index.html">回到首页</a>
</body>
</html>
<script>
function f() {
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "s", true);
xmlhttp.send();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//将后端数据从新转为json格式
var data = JSON.parse(xmlhttp.responseText);
//获取table
var table = document.getElementById("t");
for (var i = 0;i<data.length;i++){
//创建两个文本节点
var text_id = document.createTextNode(data[i].id);
var text_name = document.createTextNode(data[i].name);
//创建td节点
var td_id = document.createElement("td");
var td_name = document.createElement("td");
//创建一个tr节点
var tr = document.createElement("tr");
//挂节点
td_id.append(text_id);
td_name.append(text_name);
tr.append(td_id);
tr.append(td_name);
table.append(tr);
}
}
}
}
</script>
将这个前端数据和后端数据库进行连接就得用到servlet,
import com.alibaba.fastjson.JSON;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
@WebServlet("/s")
public class select implements Servlet{
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
try{
Connection root = JDBC_buibui.getConnection();
//创建平台
Statement statement = root.createStatement();
//执行sql语句
ResultSet resultSet = statement.executeQuery("select * from student");
ArrayList<Student> list = new ArrayList<>();
for (int i = 0;resultSet.next();i++){
//所以要进行创建多个对象实例化进行使用
Student s = new Student(resultSet.getInt("id"),resultSet.getString("name"));
//用集合存
list.add(s);
}
//将数据响应给前端
servletResponse.getWriter().write(JSON.toJSONString(list));
}catch (Exception e) {
e.printStackTrace();
}
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
增加的前端页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="i">
新的学号:<input type="text" name="id"/><br/>
新的姓名:<input type="text" name="name"/><br/>
<input type="submit" value="确认添加">
</form>
</body>
</html>
增加的servlet
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
@WebServlet("/i")
public class insert implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//获取前端数据
String nid = servletRequest.getParameter("id");
String name = servletRequest.getParameter("name");
//连接数据库
Connection root = JDBC_buibui.getConnection();
//创建sql语句平台
try {
Statement statement = root.createStatement();
//sql语句
int i = statement.executeUpdate("insert into student values (" + nid + ", '" + name + "')");
if (i!=0){
servletRequest.getRequestDispatcher("index.html").forward(servletRequest,servletResponse);
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
修改的前端页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="u">
要删除的学号: <input type="text" name="uid"><br/>
修改的学号: <input type="text" name="id"><br/>
修改的姓名: <input type="text" name="name"><br/>
<input type="submit" value="提交修改">
</form>
</body>
</html>
修改的servlet
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
@WebServlet("/u")
public class update implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//获取前端数据
String uid = servletRequest.getParameter("uid");
String id = servletRequest.getParameter("id");
String name = servletRequest.getParameter("name");
Connection root = JDBC_buibui.getConnection();
try {
Statement statement = root.createStatement();
int i = statement.executeUpdate("update student set id =" + id + ",name='" + name + "'" + " where id=" + uid);
if (i!=0){
servletRequest.getRequestDispatcher("index.html").forward(servletRequest,servletResponse);
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
/*//进行创建连接数据库
Connection root = JDBC_buibui.getConnection();
try{
//创建sql语句平台
Statement statement = root.createStatement();
///进行创建sql语句
int i = statement.executeUpdate("update students set id ="+id+" , name = '"+name+" ' where id = "+uid);
if (i!=0){
servletRequest.getRequestDispatcher("index.html").forward(servletRequest,servletResponse);
}
}catch (Exception e){
e.printStackTrace();
}
}*/
删除的前端页面
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="d">
删除学生信息:<input type="text" name="did"></br>
<input type="submit" value="确认删除">
</form>
</body>
</html>
删除的servlet
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.Statement;
@WebServlet("/d")
public class delete implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
try{
//首先得进行接受前端的数据
String did = servletRequest.getParameter("did");
//进行连接数据库
Connection root = JDBC_buibui.getConnection();
//创建sql语句平台
Statement statement = root.createStatement();
//创建sql语句
int i = statement.executeUpdate("delete from student where id=" + did);
if (i!=0){
servletRequest.getRequestDispatcher("index.html").forward(servletRequest, servletResponse);
}
}catch (Exception e){
e.printStackTrace();
}
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
因为我觉得这个每次都要进行连接数据库重复数据太多就简单的用了一个类进行封装,直接调用即可,代码如下
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBC_buibui {
//连接数据库
public static final String CLASSNAME = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://localhost:3306/school";
public static final String USERNAME = "root";
public static final String PASSWORD ="123456";
//创建静态代码块 这个代码快每次都运行一次
static {
try {
Class.forName(CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
//获取Connection
public static Connection getConnection(){
try {
return DriverManager.getConnection(URL,USERNAME,PASSWORD);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
当然还用一点要进行student的方法重写,不然数据有可能运行不成功
import java.util.Objects;
public class Student {
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return id == student.id && Objects.equals(name, student.name);
}
@Override
public int hashCode() {
return Objects.hash(id, name);
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
public Student() {
}
public Student(int id, String name) {
this.id = id;
this.name = name;
}
private int id;
private String name;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)