javaweb_实现增删改查操作(jdk1.8+mysql5.7+myeclipse8.0)

一:准备工作
1:test文件夹(里面有所需的页面资源),我完成的是在里面添加增删改查操作

2:myeclipse(版本没什么要求)  eclipse也行 jdk

3:数据库 MySQL

4:需要了解到的知识点:

                                    servlet

                                    EL与JSTL表达式

                                  项目的基本框架搭建(javaweb经典三层框架)

5:在myeclipse中建立对应的包结构

在这里插入图片描述
二:项目的基本框架搭建
所谓三层框架分别为表述层(WEB层)、业务逻辑层()、数据访问层()。

web层(action):包含JSP和Servlet等与web相关的内容,负责与浏览器的响应和请求;
业务层(service):只关心业务逻辑;
数据层(dao):封装了对数据库的访问细节,数据操作类;

关系:web层依赖业务层 业务层依赖数据层(这个关系很重要)

ps:除了以上三层框架是我们在写一个javaweb项目必须的外,还需要一个实体类(entity)。

三:实现数据库的连接
需要在MySQL中创建所需数据库,并将表建好。

DROP TABLE IF EXISTS tb_subject;
CREATE TABLE tb_subject (
subjectID int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘试题编号’,
subjectTitle varchar(100) NOT NULL COMMENT ‘试题题目’,
subjectOptionA varchar(40) NOT NULL COMMENT ‘A选项’,
subjectOptionB varchar(40) NOT NULL COMMENT ‘B选项’,
subjectOptionC varchar(40) NOT NULL COMMENT ‘C选项’,
subjectOptionD varchar(40) NOT NULL COMMENT ‘D选项’,
subjectAnswer varchar(40) NOT NULL COMMENT ‘正确答案’,
subjectParse text NOT NULL COMMENT ‘试题解析’,
PRIMARY KEY (subjectID)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

在这里插入图片描述
连接数据库
在dao下新建一个DBConn类用来处理对数据进行连接。 这是MySQL的连接方式

package dao;
 
import java.sql.*;
 
 
public class DBConn {
   
	static Connection conn = null;
	//连接数据库,返回Connection conn;
	public static Connection getConn () {
   
		String driverClassName = "com.mysql.jdbc.Driver";
		String url = "jdbc:mysql://localhost:3306/db_examsystem";
		String username = "root";
		String password = "123";
		
	try {
   
		Class.forName(driverClassName);
		conn = DriverManager.getConnection(url, username, password);
	} catch (Exception e) {
   
		e.printStackTrace();
	}
	return conn;
	
	}
	
}

四:建立实体类
在entity包下创建Subject实体类(实体类中的对象对应数据库表中的字段数据)

package entity;
 
public class Subject {
   
private int subjectID;
private String subjectTitle;
private String subjectOptionA;
private String subjectOptionB;
private String subjectOptionC;
private String subjectOptionD;
private String subjectAnswer;
private String subjectParse;
 
 
public int getSubjectID() {
   
	return subjectID;
}
public void setSubjectID(int subjectID) {
   
	this.subjectID = subjectID;
}
public String getSubjectTitle() {
   
	return subjectTitle;
}
public void setSubjectTitle(String subjectTitle) {
   
	this.subjectTitle = subjectTitle;
}
public String getSubjectOptionA() {
   
	return subjectOptionA;
}
public void setSubjectOptionA(String subjectOptionA) {
   
	this.subjectOptionA = subjectOptionA;
}
public String getSubjectOptionB() {
   
	return subjectOptionB;
}
public void setSubjectOptionB(String subjectOptionB) {
   
	this.subjectOptionB = subjectOptionB;
}
public String getSubjectOptionC() {
   
	return subjectOptionC;
}
public void setSubjectOptionC(String subjectOptionC) {
   
	this.subjectOptionC = subjectOptionC;
}
public String getSubjectOptionD() {
   
	return subjectOptionD;
}
public void setSubjectOptionD(String subjectOptionD) {
   
	this.subjectOptionD = subjectOptionD;
}
public String getSubjectAnswer() {
   
	return subjectAnswer;
}
public void setSubjectAnswer(String subjectAnswer) {
   
	this.subjectAnswer = subjectAnswer;
}
public String getSubjectParse() {
   
	return subjectParse;
}
public void setSubjectParse(String subjectParse) {
   
	this.subjectParse = subjectParse;
}
 
 
 
 
}

五:实现增删改查方法

创建方法类,这里有两种方法

1:在dao包中创建一个StudentDao接口,里面写增删改查的方法,再在dao中创建StudentDaoImpl类来实现接口,并实现之中的方法。

StudentDao接口:

package dao;
 
import java.util.List;
 
import entity.Subject;
 
public interface SubjectDao {
   
	/*
	 * 1.添加数据
	 * 2.查看数据,返回信息
	 * 3.修改
	 * 4.删除
	 * 
	 * */
	
	
	public boolean add(Subject subject);
	public List<Subject> selectall();
	public boolean update(String subjectTitle,String subjectOptionA,String subjectOptionB,
			String subjectOptionC,String subjectOptionD,String subjectAnswer,String subjectParse);
	public boolean delete(int subjectID);
	public List<Subject> selectByID(String string);
}

StudentDaoImpl类(包含增删改查操作):


```java
package dao;
 
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
 
import com.mysql.jdbc.Connection;
 
import entity.Subject;
 
public class SubjectDaoImpl implements SubjectDao {
   
	
	Connection conn = (Connection) DBConn.getConn();
 
	
	@Override
	public boolean add(Subject subject) {
   
		boolean flag = false;
		
		
		try {
   
			String sql="insert tb_subject values('"+subject.getSubjectID()+"','"
					 +subject.getSubjectTitle()+"','"
				     +subject.getSubjectOptionA()+"','"
					 +subject.getSubjectOptionB()+"','"
					 +subject.getSubjectOptionC()+"','"
				     +subject.getSubjectOptionD()+"','"
				     +subject.getSubjectAnswer()+"','"
				     +subject.getSubjectParse()+"')";
			PreparedStatement pstmt = conn.prepareStatement(sql);
			int i = pstmt.executeUpdate();
			pstmt.close();
			conn.close();
			if(i>0) {
   
				flag = true;
			}
		} catch (SQLException e) {
   
			e.printStackTrace();
		}
		return flag;
	}
 
 
	@Override
	public List<Subject> selectall() {
   
		List<Subject> list = new ArrayList<Subject>();
		try {
   
			String sql = "select * from tb_subject";
			PreparedStatement pstmt = conn.prepareStatement(sql);
			ResultSet rs = pstmt.executeQuery<
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jason_lvx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值