使用maven来进行JavaSE增删改查
首先得搞清楚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, Safarixmlhttp = new XMLHttpRequest();} else {// code for IE6, IE5xmlhttp = 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);//获取tablevar 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{@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic 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();}}@Overridepublic String getServletInfo() {return null;}@Overridepublic 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 {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic 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);}}@Overridepublic String getServletInfo() {return null;}@Overridepublic 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 {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic 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);}}@Overridepublic String getServletInfo() {return null;}@Overridepublic 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 {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic 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();}}@Overridepublic String getServletInfo() {return null;}@Overridepublic 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);}}//获取Connectionpublic 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;}@Overridepublic 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);}@Overridepublic int hashCode() {return Objects.hash(id, name);}@Overridepublic 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;
}
使用maven来进行JavaSE增删改查相关推荐
- 基于SpringBoot集合Mybatis的增删改查实现,通过postman测试(1)
本篇介绍基于SpringBoot和Mybatis+mysql+maven的简单实现增删改查的案例,详细介绍如下, 代码地址附上:https://git.lug.ustc.edu.cn/nantian_ ...
- 使用Maven开发用户模块的CRUD(增删改查)
使用Maven开发用户模块的CRUD(增删改查) < 使用Maven开发Web应用Archiva服务器的搭建步骤 > C语言中文网推出辅导班啦,包括「C语言辅导班.C++辅导班.算法/数据 ...
- Lucene和ikanalyzer(中文分词器)的简单使用增删改查(提供maven依赖)
--于2020.08.28从jar包更新为了maven依赖 什么是Lucene? Lucene是apache下的一个开放源代码的全文检索引擎工具包,通过它可以实现全文检索. 什么是全文检索(Full ...
- 使用eclipse创建基于SSM+Maven的小项目(简单的增删改查)
使用eclipse创建基于SSM+Maven的增删改查 开发环境 效果图 数据库 项目如下: 项目结构及pom.xml 资源文件夹 db.properties mybatis-config.xml a ...
- 详细记录->使用Maven+SSM框架,实现单表简单的增删改查
话不多说,ssm框架整合小栗子 步骤 1.创建web Maven项目 2.创建数据库配置文件:jdbc.properties 3.项目总体目录: 4.添加spring配置文件:applicationC ...
- 【java】用javaSE来实现对mysql数据库的增删改查
主程序: import Bean.StudentBean; import Impl.StudentImpl; public class T7 { public static void main ...
- Mybatis入门:2(xml形式的增删改查)
xml形式的增删改查 这里感觉没啥好讲的,照着代码自己敲一遍.认真再看看应该都懂的. Maven工程坐标 <?xml version="1.0" encoding=" ...
- Spring Boot 中使用 MongoDB 增删改查
本文快速入门,MongoDB 结合SpringBoot starter-data-mongodb 进行增删改查 1.什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件 ...
- 基于SpringBoot开发一个Restful服务,实现增删改查功能
点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:虚无境 cnblogs.com/xuwujing/p/8260935.html 前言 在去 ...
最新文章
- Shell编程基入门
- (chap1 网络基础知识)网络的构成要素:(4-6)集线器和3层交换机
- 打开高效文本编辑之门_Linux awk之自定义变量与操作符
- linux sh 脚本调用外部命令
- 学习 jQuery -2 document 对象的 ready 事件
- 多个值合并成一个字段oracle排序,Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)...
- nginx config的多个config配置
- 介绍一些有趣的MySQL pager命令
- python机器学习乳腺癌细胞模型
- c#【 网络日志解析工具】开发篇-【媒体预览功能】--base64,webp响应解码为图片-》可做复制base64进行图片查看
- 男神.png misc之图片lsb隐写
- 华三交换机配置vrrp_VRRP原理与配置 华为、华三交换机,路由器
- 外贸沟通谈判中加分项,这些你都知道吗?
- 蓝桥杯个人总结(入门练习-VIP题)
- 前端实现文字竖向排版
- 2015 UESTC 数据结构专题A题 秋实大哥与小朋友 线段树 区间更新,单点查询,离散化...
- 基于Protobuf的通讯库--Poppy简介
- 数据结构|魔王语言解释
- 让Python Matplotlib使用事半功倍!
- 全新H3C品牌服务器与存储产品亮相 引领中国IT协同创新之路