当前位置:首页 > 后端开发 > javaweb添加课程mysql8.0版本

javaweb添加课程mysql8.0版本

7个月前 (05-23)30

搞了好几天终于搞好了,虽然代码有些不同但是功能实现,并且于mysql 8.0版本。废话不多说直接开搞。

需要的工具 javaweb添加课程mysql8.0版本 _ Java侠

 

 javaweb添加课程mysql8.0版本 _ Java侠

 

 自己去下 简单的雅痞。

结构如下

javaweb添加课程mysql8.0版本 _ Java侠

 

lib目录下必须导入连接包 否则会出现错误500无法连接

两个jsp文件不要添加在web-inf里面 因为这里面导入东西是无法访问的

直接在webapp里面新建jsp文件,代码如下。

ClassDao.java

package ceshi;

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

import ceshi.DBUtil;
import ceshi.HaveClass;
import ceshi.ClassDao;

public class ClassDao {
public void add(HaveClass course) {
//或得数据库连接对象
Connection connection = DBUtil.getConnection();
//准备SQL语句
String sql =null; //"select count(*) from tab_user where username=?";
//声明数据库准备执行对象,但是没有实例化,赋值为空
PreparedStatement preparedStatement = null;
//声明一个结果集对象,用于接收,我们我们pre执行后,发送到数据库的sql语句,然后数据库执行,在然后返回到我们程序端的
//结果集对象
//ResultSet resultSet = null;
/*数据库,让数据库处理,然后把结果集返回回来,用resultSet.
//这个是重点,这里才是真正连接数据库,然后执行的地方
resultSet = preparedStatement.executeQuery();
while(resultSet.next()) {
if(resultSet.getInt(1)>0)
throw new UserException("用户已存在");

}*/
try {
sql="insert into grade(classname,classtea,classspace) value(?,?,?)";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, course.getClassname());
preparedStatement.setString(2, course.getTeachername());
preparedStatement.setString(3, course.getPlace());
preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
//DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}

}
}

DBUtil.java

package ceshi;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class DBUtil {
public static Connection getConnection() {


try {
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
} catch (InstantiationException | IllegalAccessException
| ClassNotFoundException e1) {
e1.printStackTrace();
}

String user = "root";
String password = "123456";
String url = "jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC";
Connection connection = null;
try {
connection = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
public static void close(Connection connection) {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}

public static void close(PreparedStatement preparedStatement) {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}

public static void close(ResultSet resultSet) {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}

}

HaveClass.java

package ceshi;

public class HaveClass {

private String teachername;
private String place;
private String classname;

public String getTeachername() {
return teachername;
}
public void setTeachername(String teachername) {
this.teachername = teachername;
}
public String getPlace() {
return place;
}
public void setPlace(String place) {
this.place = place;
}
public String getClassname() {
return classname;
}
public void setClassname(String classname) {
this.classname = classname;
}

}

addClass.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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><%=request.getAttribute("result") %>
<form action="class.jsp" method ="get">
<table align="center" border="1" width="500">
<tr>
<td>课程名</td>
<td>
<input type="text" name="classname"/>
</td>
</tr>
<tr>
<td>任课老师</td>
<td>
<input type="text" name="classtea"/>
</td>
</tr>
<tr>
<td>课堂地点</td>
<td>
<input type="text" name="classspace"/>
</td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="添加"/></td>
</tr>
</table>
</form>
</center>
</body>
</html>

 class.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="ceshi.HaveClass"%>
<%@ page import="ceshi.ClassDao"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%
String classname = request.getParameter("classname");
String classtea = request.getParameter("classtea");
String classspace = request.getParameter("classspace");
if(classtea.equals("王建民")||classtea.equals("刘丹")||classtea.equals("刘立嘉")||classtea.equals("王辉")||classtea.equals("杨子光"))
{
}
else
{
request.setAttribute("result","请输入在职老师");
%>
<jsp:forward page="addClass.jsp"></jsp:forward>
<%
}
if(classspace.startsWith("基教")||classspace.startsWith("一教")||classspace.startsWith("二教")||classspace.startsWith("三教"))
{

}
else
{
request.setAttribute("result","请输入正确地点");
%>
<jsp:forward page="addClass.jsp"></jsp:forward>
<%
}
HaveClass course=new HaveClass();
course.setClassname(classname);
course.setTeachername(classtea);
course.setPlace(classspace);
ClassDao classDao=new ClassDao();
classDao.add(course);
request.setAttribute("result","课程添加成功");
%>
<jsp:forward page="addClass.jsp"></jsp:forward>
<body>
</body>
</html>

代码如上。

表格怎么建立自己去csdn 具体图如下

javaweb添加课程mysql8.0版本 _ Java侠

 

 注意test  与grade 代表的什么 代码中自己可以改 如果你建立的表不是这个名字的话。

运行代码会出现

javaweb添加课程mysql8.0版本 _ Java侠

 

 自己输入 软件工程 王建民 基教 会出现

javaweb添加课程mysql8.0版本 _ Java侠

 

 然后你的表里面会出现

javaweb添加课程mysql8.0版本 _ Java侠

 

 前面两个是测试的,第三个是我写这个随笔输入的。

下面是参考的网站

现在讲一下会出现问题xampp 如果你安装过mysql会出现端口冲突建议把已经安装mysql删掉。

如何你安装过虚拟机也会出现端口占用具体xampp安装教程https://blog.csdn.net/sliencect/article/details/118001059?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163488972316780274168041%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163488972316780274168041&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-118001059.first_rank_v2_pc_rank_v29&utm_term=xampp%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B%E4%B8%8E%E9%85%8D%E7%BD%AE&spm=1018.2226.3001.4187

具体软件还是推荐自己去百度一下直接就有,官网下载有点麻烦,反正我是下载不了不知道为什么。

 Navicat 自己去官网下载 怎么激活可以去csdn下载激活工具。

代码参考的学长网站

https://blog.csdn.net/weixin_33841722/article/details/94314309?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163488500316780271548971%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163488500316780271548971&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-94314309.first_rank_v2_pc_rank_v29&utm_term=%E8%AF%BE%E7%A8%8B%E6%B7%BB%E5%8A%A0&spm=1018.2226.3001.4187

他的代码缺少class类 我的代码并没有缺少,可以放心使用。

 

作者:stdxxd
来源链接:https://www.cnblogs.com/stdxxd/p/15439515.html

标签: Java版本

“javaweb添加课程mysql8.0版本” 的相关文章

通俗易懂的java多线程(又干货又可爱哦)

通俗易懂的java多线程(又干货又可爱哦)

文章目录 一、前言 二、线程概述 2.1 概述 2.2 并...

java如何实现多线程

/** * 使用Thread类模拟4个售票窗口共同卖100张火车票的程序 * * 没有共享数据,每个线程各卖100张火车...

Elasticsearch 2.X 版本Java插件开发简述

Elasticsearch 2.X 版本Java插件开发简述

1:elasticsearch插件分类简述 2:Java插件开发要点 3:如何针对不同版本elasticsearch提供多版本的插件 4:插件具有外部依赖时遇到的一些问...

Java多线程并发07——锁在Java中的实现

Java多线程并发07——锁在Java中的实现

上一篇文章中,我们已经介绍过了各种锁,让各位对锁有了一定的了解。接下来将为各位介绍锁在Java中的实现。关注我的公众号「Java面典」了解更多 Java 相关知识点。...

Java 多线程的三种实现方法

Java 多线程的三种实现方法

Java SE高级开发——多线程的实现 进程与线程的概念: 进程:操作系统中,一个程序的执行周期称为一个进程 线程:一个程序同时执行多个任务的...

我的笔记:精通JAVA集合类

我的笔记:精通JAVA集合类

Collection接口 collection是保存单值集合的最大父接口,但一般开发中,往往很少去直接使用collection接口进行开发,而基本上都是...

java几种常用设计模式简单示例

java几种常用设计模式简单示例

1.单例设计模式        所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singl...

JDK8版本JAVA运行错误:找不到或无法加载主类 HelloJava的原因及解决方案

JDK8版本JAVA运行错误:找不到或无法加载主类 HelloJava的原因及解决方案

JDK8版本JAVA运行错误:找不到或无法加载主类 HelloJava的原因及解决方案 一、错误描述...

JAVA各个版本及一些问题

JAVA各个版本及一些问题

一. JRE和JDK的区别 JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Jav...

Java实现多线程到底有多少种方法?

Java实现多线程到底有多少种方法?

推荐:Java并发编程汇总 Java实现多线程到底有多少种方法? 可以去百度一下,会有很多不同的答案。 到底有多少种呢?这就要去官方文...