首页 > 数据库 >关于折腾许久终于成功实现的数据库添加操作

关于折腾许久终于成功实现的数据库添加操作

时间:2022-10-24 23:56:54浏览次数:38  
标签:java String 数据库 许久 public connection 添加 id name

好激动好激动,熬夜这么久终于做出了!!!

为了梳理知识、巩固复习,也为了大家少走弯路特地整理发出来

(JavaIDE使用的是eclipse,数据库使用的是MySQL,数据库可视化使用的navicat,开发网页使用的tomcat)

先发一下目录结构

 

 

 

在发代码之前先将一下这里各个包及文件的作用

 

Bean包下的Bean.java 文件用于存放实体类

Dao包下的Dao.java 文件用于实现数据与数据库的交互(既实现增删改查等操作)

DBUtil包下的DBUtil.java 文件用于封装连接数据库的操作(这样进行增删改查操作时就不需要每个方法都写一遍连接数据库的操作啦)

Servlet包下的Servlet.java 文件用于实现数据与前端网页页面的数据连接(获取网页中用户输入的信息)

webapp目录下的add.jsp 用于编写页面(此处仅为学习通过网页进行添加操作,对页面美观度未作要求)

 

放接下来就代码啦,小伙伴们接好咯

Bean.java  //Bean包下的Bean.java 文件用于存放实体类

package Bean;

public class Bean {

String id;
String name;
public Bean() {
// TODO Auto-generated constructor stub
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Bean(String id, String name) {
super();
this.id = id;
this.name = name;
}

}

Dao.java  //Dao包下的Dao.java 文件用于实现数据与数据库的交互(既实现增删改查等操作)

package Dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import DBUtil.DBUtil;

public class Dao {

public static void add(String id, String name) {
// TODO Auto-generated method stub
Connection connection=null;
PreparedStatement preparedStatement=null;
connection= DBUtil.getConnection();
String sql="insert into inf(id,name) values (?,?)";
try{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1,id);//就是把id替代sql的第一个问号,id由前端传过来
preparedStatement.setString(2,name);
System.out.print("信息传输成功");
int flag = preparedStatement.executeUpdate();
if(flag != 0) {
System.out.print("信息添加成功");
} else {
System.out.print("信息添加失败");
}
preparedStatement.close();
connection.close();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(preparedStatement,connection);
}
}

}

DBUtil.java  //DBUtil包下的DBUtil.java 文件用于封装连接数据库的操作(这样进行增删改查操作时就不需要每个方法都写一遍连接数据库的操作啦)

//小伙伴们记得修改url和pass

package DBUtil;

import java.sql.*;

public class DBUtil {
private static Connection connection;
private static String url="jdbc:mysql://localhost:3306/test?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
private static String user="root";//用户名
private static String pass="mysql26331";//密码

static {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
try {
connection= DriverManager.getConnection(url,user,pass);
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
public static void close(Connection connection, Statement statement, ResultSet resultSet){
try {
if (connection!=null) {
connection.close();
}
if (statement!=null){
statement.close();
}
if (resultSet!=null){
resultSet.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void close(PreparedStatement preparedStatement, Connection connection) {
// TODO Auto-generated method stub
try {
preparedStatement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

Servlet.java  //Servlet包下的Servlet.java 文件用于实现数据与前端网页页面的数据连接(获取网页中用户输入的信息)

package Servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import Dao.Dao;

/**
* Servlet implementation class Servlet
*/
@WebServlet("/Servlet")
public class Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public Servlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
//防止乱码
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
//获取前端传来的数据
String id=request.getParameter("id");
String name=request.getParameter("name");
Dao.add(id,name);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(request, response);
}

}

add.jsp  //webapp目录下的add.jsp 用于编写页面(此处仅为学习通过网页进行添加操作,对页面美观度未作要求)

//这里强调一点,<title>添加</title>语句之前的操作较多是因为本人之前因为乱码问题进行了大量修改

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import ="java.sql.*"%>

<!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>添加</title>
</head>
<body>
<center>
<form action="Servlet" method="post">

<p style="height: 20px; border: 1px solid red;text-align: center;">课程查询</p>

<p>请输入id:<input type="text" name="id"><p/>
<p>请输入姓名:<input type="text" name="name"><p/>

<input type="submit" name="submit" value="添加">

</form>

</center>
</body>
</html>

 

最后祝大家旗开得胜,晚上睡得早头发掉的少!

标签:java,String,数据库,许久,public,connection,添加,id,name
From: https://www.cnblogs.com/yansans/p/16823499.html

相关文章

  • .NET Core C#系列之XiaoFeng.Data.DataHelper数据库操作
    ​XiaoFeng.Data.DataHelper,当前类库支持MySql,SqlServer,Oledb,SQLite,Oracle,DM等数据库下面就以SqlServer为例,详细讲解一下当前类库。第一步,引用System.Data.SqlCli......
  • linux添加硬盘进行扩容
    一、登陆系统查看。​发现有两个目录需扩容,其中一个确实已经100%了,如下图所示:​​​​首先考虑通过vg剩余的空间来扩容,我们来查看vg02组的大小,这里有两个vg组,需要注意的是,我......
  • 多个数据库表建立外键约束的相关理解
    一、知识准备所谓“外键约束”,就是一个表中的FOREIGNKEY与另一个表中的UNIQUEKEY(唯一约束的建,一般为主键)通俗一些的话,就是将单独的没有啥关系的表利用一些共同点结合......
  • MySQL执行过程(一条SQL从Java到数据库都经历了什么)
    MySQL执行过程(一条SQL从Java到数据库都经历了什么) 2021-11-1420:44:47    小道仙    100阅读    0评论视频地址 https://www.bilibili.com/video......
  • 百花齐放的国产数据库,献礼国庆节
    文章目录​​前言​​​​......
  • Springboot数据库的配置问题
    mysql时区问题先前的代码如下spring:datasource:url:jdbc:mysql://localhost:3306/testusername:rootpassword:110120driver-class-name:com......
  • day17 MySQL的安装 & 数据库基本语法——增删改查
    day17MySQL登录数据库mysql-hlocalhost-P3307-uroot-p查看所有数据库showdatabases;退出数据库exit;//现有表格usesitu;//使用哪个数据库createtable......
  • Lark 添加机器
    1.打开群聊设置2.添加机器人  3. 选择添加4.生成webhook   ​​https://open.larksuite.com/open-apis/bot/v2/hook/ede2a8​​参考文档 ​​开发文档-Lark开......
  • 直播预告 | 揭秘时序数据库极致性能背后的存储引擎
    存储引擎是数据库最核心、最复杂的组件之一。存储引擎的设计往往很大程度上决定了数据库的性能。如何针对不同的应用场景设计高性能的存储引擎一直是数据库开发的难题。在时......
  • 数据库视图
    1.定义:从几张基本表中导出的表,视图是一张虚拟的表。数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。所以原来表数据变,视图数据也变。......