package com.lzh.cinema.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import com.lzh.cinema.bean.MoneyMsg;
import com.lzh.cinema.bean.Msg;
import com.lzh.cinema.entity.Movie;
import com.lzh.cinema.entity.MovieList;
import com.lzh.cinema.entity.MoviePrice;
import com.lzh.cinema.entity.Ticket;
import com.lzh.cinema.entity.User;
import com.lzh.cinema.entity.UserQueryMovie;
import com.lzh.cinema.property.UserQueryMovieProperty;
import com.lzh.cinema.service.BuyService;
import com.lzh.cinema.service.MovieListService;
import com.lzh.cinema.util.JDBCUtil;
import com.lzh.cinema.view.LoginController;
import com.lzh.cinema.view.MyTicketController;
import com.lzh.cinema.view.PayController;
import com.lzh.cinema.view.UserQueryMovieController;
public class BuyDao
{
private Connection con;
private PreparedStatement stmt;
/**
* 影票
* @return seat_id
*/
public int GSeatT(){
try {
Integer s = 0;
con = JDBCUtil.getCon();
String sql = "SELECT * FROM seat WHERE seat_id=?";
//被调用的方法的局部中的预编译要再次声明一次
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setInt(1, MyTicketController.a);
System.out.println("g----seat");
ResultSet rs = stmt.executeQuery();
while(rs.next())
{
s= rs.getInt("seat_id");
}
return s;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("数据库连接异常gseat");
} finally{
JDBCUtil.close(stmt, con);
}
return 0;
}
/**
* 购票
* @return
*/
public int GSeat(){
try {
Integer s = 0;
con = JDBCUtil.getCon();
String sql = "SELECT * FROM seat WHERE x=? AND y=? AND hall_id=?";
//被调用的方法的局部中的预编译要再次声明一次
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setInt(1, PayController.x);
stmt.setInt(2, PayController.y);
stmt.setInt(3, QHall());
System.out.println("g----seat");
ResultSet rs = stmt.executeQuery();
while(rs.next())
{
s= rs.getInt("seat_id");
}
return s;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("数据库连接异常gseat");
} finally{
JDBCUtil.close(stmt, con);
}
return 0;
}
/**
* 得到当前用户的用户id
* @return user_id
*/
public int GUser(){
try {
int u = 0;
con = JDBCUtil.getCon();
String sql = "SELECT * FROM user WHERE user_name = ?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, LoginController.userName);
ResultSet rs = stmt.executeQuery();
while(rs.next())
{
u = 0 ;
u = rs.getInt("user_id");
}
return u;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("数据库连接异常guser");
} finally{
JDBCUtil.close(stmt, con);
}
return 0;
}
/**
* 通过user_id找出ticket_id
* @return ticket_id
*/
public int GTicket(){
int u = 0;
try {
con = JDBCUtil.getCon();
String sql = "SELECT * FROM ticket WHERE user_name = ?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, LoginController.userName);
ResultSet rs = stmt.executeQuery();
if(rs.next())
{
u = rs.getInt("user_id");
}
return u;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("数据库连接异常");
} finally
{
JDBCUtil.close(stmt, con);
}
return 0;
}
/**
* 查询该用户的余额信息,并返回其余额数值
* @param user
* @return MoneyMsg
*/
public MoneyMsg UMoneyQ(User user){
try {
con = JDBCUtil.getCon();
String sql = "SELECT * FROM user WHERE user_name = ?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, LoginController.userName);
ResultSet rs = stmt.executeQuery();
if(rs.next()){
//检查数据库中是否存在该用户名和密码
if(LoginController.userName.equals(rs.getString("user_name")))
{
user.setMoney(rs.getDouble("user_money"));
if(user.getMoney()>=0)
{
return new MoneyMsg(user.getMoney(),user);
}
else return new MoneyMsg(0.00,user);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("数据库连接异常umq");
e.printStackTrace();
} finally{
JDBCUtil.close(stmt, con);
}
return null;
}
/**
* 更改用户的金额数
* @param user
* @return 0则失败,1则成功更改
*/
public int AddMoney(User user,Double m) {
int judge=0;
con = JDBCUtil.getCon();
String sql = "UPDATE user SET user_money=? WHERE user_name = ?";
try {
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setDouble(1, m);
stmt.setString(2, LoginController.userName);
stmt.executeUpdate();
judge=1;
System.out.println("添加成功");
} catch (SQLException e) {
judge=0;
System.out.println("添加失败");
e.printStackTrace();
}
finally {JDBCUtil.close(stmt, con);}
return judge;
}
/**
* 查询用户选择的票是否已存在,
* 已存在的话,判断其状态是否已被预定
* 有三种情况
* @param 无参
* @return Ticket
*/
public Ticket TicketExists(){
try {
con = JDBCUtil.getCon();
//联合查询---ticket表和seat表,将查到的两张表的结果全部返回,对象的集合
String sql = "select ticket.ticket_id,ticket.seat_id,ticket.schedule_id,ticket.price,ticket.status,seat.hall_id,seat.x,seat.y from ticket,seat where ticket.seat_id=seat.seat_id";
stmt = con.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();// 返回一个结果集,n个对象
System.out.println("ticket1");
List <Ticket> list = new ArrayList<Ticket>();
Ticket ticket =null;//作为返回值,供service层判断
while (rs.next())
{
ticket =new Ticket();
//
/*
* 每次新建成一个对象的地址
*/
//ticket表
ticket.setTicket(rs.getInt("ticket_id"));//票的单号
ticket.setSeat(rs.getInt("seat_id"));//座位的单号
ticket.setSchedule(rs.getInt("schedule_id"));//电影播放的单号,排片序号
ticket.setPrice(rs.getDouble("price"));//票价
ticket.setStatus(rs.getInt("status"));//记录当前票的状态(是否已被预定)
//seat表
ticket.setHall(rs.getInt("hall_id"));//记录票的播放厅
ticket.setX(rs.getInt("x"));//x,座位的横坐标
ticket.setY(rs.getInt("y"));//y,座位的纵坐标
list.add(ticket);
}
if(ticket==null)
{
return null;
}
Ticket t = null;
for (int i = 0; i < list.size();i++)
{
t = list.get(i);
/**
* 一个个比较schedule,无则为无该票信息----3,
* 有则根据status判断,0为可买--------------2
* 1为不可预订--------------------------------1
*/
if(UserQueryMovieController.a==t.getSchedule()) //2和1
{
if(PayController.x==t.getX()&&PayController.y==t.getY())//座位的比较,比较status
{
if(t.getStatus()==1)
{return t;}
else
{
return t;
}
}
}
else // 3的情况
{
System.out.println(11231);
return null;//返回的票对象为空
}
}
System.out.println("dao循环外----"+ticket.toString());
return ticket;//若查询到票的结果则返回票的集合
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("数据库连接异常");
} finally{
JDBCUtil.close(stmt, con);
}
return null;//数据库中不存在该票
}
/**
* 查询hall_id的值 (schedule表中根据schedule_id的值查询)
* @return hall_id的值
*/
public double QPrice(){
try {
con = JDBCUtil.getCon();
double p =0.0;
MoviePrice mp = new MoviePrice();
//两张表的有关price和schedule的所有数据
String sql = "select
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目说明】 1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载食用体验! 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【资源介绍】 基于Java开发的影院管理系统源码(课程作业).zip基于Java开发的影院管理系统源码(课程作业).zip基于Java开发的影院管理系统源码(课程作业).zip基于Java开发的影院管理系统源码(课程作业).zip基于Java开发的影院管理系统源码(课程作业).zip 基于Java开发的影院管理系统源码(课程作业).zip
资源推荐
资源详情
资源评论
收起资源包目录
基于Java开发的影院管理系统源码(课程作业).zip (111个子文件)
BuyDao.class 11KB
AdminHallController.class 10KB
MyTicketController.class 9KB
UserQueryMovieController.class 8KB
PayController.class 5KB
Main.class 5KB
TicketDao.class 5KB
MyMovieProperty.class 4KB
MovieDao.class 4KB
LoginController.class 4KB
MovieProperty.class 4KB
TicketService.class 4KB
MovieListService.class 3KB
BuyService.class 3KB
UserQueryMovieProperty.class 3KB
UserDao.class 3KB
PersonalController.class 3KB
UserHallController.class 3KB
UserQueryMovieDao.class 3KB
Ticket.class 3KB
JDBCUtil.class 2KB
MyMovie.class 2KB
MovieListDao.class 2KB
GetCell.class 2KB
MovieListController.class 2KB
MyTicketController$2.class 2KB
MyTicketController$1.class 2KB
UserQueryMovieController$2.class 2KB
AdminHallController$2.class 2KB
UserQueryMovieController$1.class 2KB
User.class 2KB
UserLogin.class 2KB
Movie.class 2KB
AdminHallController$1.class 2KB
LoginController$1.class 2KB
UserService.class 2KB
UserQueryMovie.class 2KB
JDBCtest.class 2KB
Msg.class 1KB
MoneyMsg.class 1KB
StringUtil.class 1KB
UserQueryMovieController$3.class 1KB
AdminHallController$3.class 1KB
MoviePrice.class 1KB
MyTicketController$3.class 1KB
MovieList.class 1KB
UserController.class 975B
BuyController.class 954B
ValidateUtil.class 860B
MoneyT.class 847B
.classpath 486B
build.fxbuild 296B
UserHall.fxml 14KB
UserHall.fxml 14KB
Buy.fxml 8KB
Buy.fxml 8KB
AdminHall.fxml 6KB
AdminHall.fxml 6KB
Personal.fxml 6KB
Personal.fxml 6KB
Login.fxml 3KB
Login.fxml 3KB
MyTicket.fxml 3KB
MyTicket.fxml 3KB
UserQueryMovie.fxml 2KB
UserQueryMovie.fxml 2KB
BuyDao.java 14KB
AdminHallController.java 10KB
MyTicketController.java 8KB
UserQueryMovieController.java 7KB
BuyService.java 6KB
Main.java 5KB
TicketDao.java 5KB
PayController.java 5KB
LoginController.java 5KB
MyMovieProperty.java 4KB
TicketService.java 4KB
MovieDao.java 4KB
MovieProperty.java 4KB
MovieListService.java 4KB
UserQueryMovieProperty.java 3KB
UserDao.java 3KB
JDBCUtil.java 3KB
MovieListController.java 3KB
PersonalController.java 2KB
UserHallController.java 2KB
Ticket.java 2KB
MyMovie.java 2KB
UserService.java 2KB
MovieListDao.java 2KB
UserQueryMovieDao.java 2KB
Movie.java 2KB
UserLogin.java 1KB
UserQueryMovie.java 1KB
User.java 1KB
GetCell.java 1KB
Msg.java 1KB
MovieList.java 1KB
StringUtil.java 926B
UserController.java 783B
共 111 条
- 1
- 2
资源评论
.whl
- 粉丝: 3907
- 资源: 4858
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功