package dao;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import bean.Topic;
public class TopicDao {
public List<Topic> query(){
Connection c=null;
List<Topic> list =new ArrayList<Topic>();
try{
c=ConnectionManager.getConnection();
String sql="select * from topic";
PreparedStatement pst=c.prepareStatement(sql);
ResultSet rs=pst.executeQuery();
while(rs.next()){
Topic topic =new Topic();
topic.setId(rs.getInt("id"));
topic.setTitle(rs.getString("title"));
topic.setOption1(rs.getString("option1"));
topic.setOption2(rs.getString("option2"));
topic.setOption3(rs.getString("option3"));
topic.setOption4(rs.getString("option4"));
topic.setStartTime(rs.getDate("startTime"));
topic.setEndTime(rs.getDate("endTime"));
topic.setCount1(rs.getInt("count1"));
topic.setCount2(rs.getInt("count2"));
topic.setCount3(rs.getInt("count3"));
topic.setCount4(rs.getInt("count4"));
list.add(topic);
}
return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
ConnectionManager.closeConnection(c);
}
}
public boolean insert(Topic topic){
Connection c=null ; ;
try{
c=ConnectionManager.getConnection();
String sql="insert into topic(title,startTime,endTime,isStart,option1,option2,option3,option4,count1,count2,count3,count4) values (?,?,?,0,?,?,?,?,0,0,0,0)";
PreparedStatement pst=c.prepareStatement(sql);
pst.setString(1,topic.getTitle());
pst.setString (2,String.valueOf(topic.getStartTime()));
pst.setString(3,String.valueOf(topic.getStartTime()));
pst.setString(4,topic.getOption1());
pst.setString(5,topic.getOption2());
pst.setString(6,topic.getOption3());
pst.setString(7,topic.getOption4());
//pst.setString(8,topic.getOption5());
pst.execute();
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
ConnectionManager.closeConnection(c);
}
}
public Topic query(int id){
Connection c=null ; ;
try{
c=ConnectionManager.getConnection();
String sql="select * from topic where id=?";
PreparedStatement pst=c.prepareStatement(sql);
pst.setInt(1,id);
ResultSet rs=pst.executeQuery();
if(rs.next()){
Topic topic=new Topic();
topic.setId(rs.getInt("id"));
topic.setTitle(rs.getString("title"));
topic.setStartTime(rs.getDate("startTime"));
topic.setEndTime(rs.getDate("endTime"));
topic.setIsStart(rs.getInt("isStart"));
topic.setOption1(rs.getString("option1"));
topic.setOption2(rs.getString("option2"));
topic.setOption3(rs.getString("option3"));
topic.setOption4(rs.getString("option4"));
topic.setCount1(rs.getInt("count1"));
topic.setCount2(rs.getInt("count2"));
topic.setCount3(rs.getInt("count3"));
topic.setCount4(rs.getInt("count4"));
return topic;
}else{
return null;
}
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
ConnectionManager.closeConnection(c);
}
}
public boolean vote(int id,int option){
Connection c=null;
try{
c=ConnectionManager.getConnection();
String sql="";
if(option==1){
sql="update topic set count1=count1+1 where id=?";
}else if(option==2){
sql="update topic set count2=count2+1 where id=?";
}else if(option==3){
sql="update topic set count3=count3+1 where id=?";
}else if(option==4){
sql="update topic set count4=count4+1 where id=?";
}
PreparedStatement pst=c.prepareStatement(sql);
pst.setInt(1, id);
pst.execute();
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
ConnectionManager.closeConnection(c);
}
}
public boolean delete(int id){
Connection c=null;
try{
c=ConnectionManager.getConnection();
String sql="delete from topic where id=?";
PreparedStatement pst=c.prepareStatement(sql);
pst.setInt(1,id);
pst.execute();
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
ConnectionManager.closeConnection(c);
}
}
public boolean update(Topic topic,int id){
Connection c=null;
try{
c=ConnectionManager.getConnection();
String sql="update topic set title=?,startTime=?,endTime=?,option1=?,option2=?,option3=?,option4=? where id=?";
PreparedStatement pst=c.prepareStatement(sql);
pst.setString(1, topic.getTitle());
pst.setDate(2, topic.getStartTime());
pst.setDate(3, topic.getEndTime());
pst.setString(4, topic.getOption1());
pst.setString(5, topic.getOption2());
pst.setString(6, topic.getOption3());
pst.setString(7, topic.getOption4());
//System.out.println(topic.getCount1()+" "+topic.getOption1()+" "+topic.getTitle()+" id is: "+id);
pst.setInt(8,id);
pst.execute();
return true;
}catch(Exception e){
e.printStackTrace();
return false;
}finally{
ConnectionManager.closeConnection(c);
}
}
public static void main(String args[]){
TopicDao topicdao=new TopicDao();
//List<Topic> list=topicdao.query();
//System.out.println(""+list.size());
//TopicDao topicdao=new TopicDao();
Topic topic =new Topic();
topic.setTitle("");
topic.setStartTime(new Date(2017-1-6));
topic.setEndTime(new Date(2017-2-6));
topic.setOption1("1");
topic.setOption2("2");
topic.setOption3("sadfadfsux2");
topic.setOption4("lad");
//boolean b=topicdao.update(topic,11);
boolean b=topicdao.insert(topic);
//System.out.println("update "+b);*/
//Topic topic=topicdao.query(1);
//boolean c=topicdao.vote(1, 3);
//boolean c=topicdao.update(topic, 17);
//boolean c=topicdao.delete(10);
System.out.print(b);
}
}
Servlet投票系统,简单增删改查.zip
需积分: 0 156 浏览量
更新于2023-07-24
收藏 2.64MB ZIP 举报
java web开发,jsp,servlet框架,mysql,适合个人研究学习,用于毕业设计,课程设计等
java web开发,jsp,servlet框架,mysql,适合个人研究学习,用于毕业设计,课程设计等
java web开发,jsp,servlet框架,mysql,适合个人研究学习,用于毕业设计,课程设计等
java web开发,jsp,servlet框架,mysql,适合个人研究学习,用于毕业设计,课程设计等
白话机器学习
- 粉丝: 1w+
- 资源: 7650
最新资源
- 【C#】asf多租户rbac权限管理系统后端.zip
- 【vue】基于elementUi组件的一款rbac权限管理.zip
- 基于迁移学习和模型融合的垃圾分类图像识别
- 【Java】基于springsecurity的rbac权限管理系统.zip
- L4级无人车自动驾驶系统设计与实施:一份150多页详尽的方案文档解析,无配套代码资源,L4无人车自动驾驶系统方案 系统方案设计,150多页系统方案 方案文档,没有配套代码 ,核心关键词:L4无人车自动
- 前端分析-2023071100789
- 新能源光伏并网逆变器电流环解耦控制:MATLAB Simulink仿真下的系统建模与参数设计,新能源-光伏并网逆变器电流环解耦控制 MATLAB simulink仿真,包含整个系统的解耦建模分析过程
- 基于若依框架的在线测试练习系统:采用遗传算法自动组卷,前端界面可设置难度,使用Springboot、Vue、MySQL和Redis技术实现用户管理等功能,采用遗传算法来完成自动组卷功能的前后端分离的在
- 【Java】基于RBAC模型的权限管理系统,采用Spring、MyBatis、Shiro框架_02.zip
- 【go】dmicro是一个高效、可扩展且简单易用的微服务框架。包含drpc,dserver等组件_02.zip
- 【PHP】Laravel5.1基于Entrust扩展包实现通用的RBAC权限控制模块_02.zip
- 【Java】GemFrame是一款基于Java开发的开源的微服务架构,其具有功能强大,稳定高效,代码规范等特性_02.zip
- 【C#】asf多租户rbac权限管理系统后端_02.zip
- 【PHP】基于微服务架构思想,swoole协程框架,配合ffmpeg推流以及rtmp协议打造的一款简洁的微服务直播系统_02.zip
- 【PHP】PHP实现的,基于Redis的互斥锁,可用于原子事务,也可用于分布式锁_02.zip
- 【Java】springSecurity+jwt前后端分离基于RBAC权限检验_02.zip