Compare commits
2 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
8756e6c73c | 2 years ago |
|
|
fcde5716ff | 2 years ago |
@ -0,0 +1,33 @@
|
||||
package com.tmj.dao.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Properties;
|
||||
|
||||
public class JDBCUtil {
|
||||
static String url;
|
||||
static Properties info =new Properties();
|
||||
|
||||
static{
|
||||
InputStream input = JDBCUtil.class.getClassLoader()
|
||||
.getResourceAsStream("config.properties");
|
||||
try {
|
||||
info.load(input);
|
||||
url = info.getProperty("url");
|
||||
|
||||
|
||||
Class.forName(info.getProperty("driver"));
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public static Connection getConnection() throws SQLException {
|
||||
Connection conn = DriverManager.getConnection(url,info);
|
||||
return conn;
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,193 +0,0 @@
|
||||
package com.zn.view;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.FlowLayout;
|
||||
import java.awt.Font;
|
||||
import java.awt.GridLayout;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JSeparator;
|
||||
import javax.swing.JSplitPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.ListSelectionModel;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
import com.zn.dao.SeatznDao;
|
||||
import com.zn.dao.impl.SeatznImpl;
|
||||
import com.zn.javaBean.Seatzn;
|
||||
|
||||
public class SeatListFrame extends MyFrame{
|
||||
|
||||
private JTable table;
|
||||
private JLabel lblImage;
|
||||
private JLabel lblListprice;
|
||||
private JLabel lblDescn;
|
||||
private JLabel lblUnitcost;
|
||||
|
||||
private List<Seatzn> Seats=null;
|
||||
|
||||
private SeatznDao pdao =new SeatznImpl();
|
||||
private Map<String,Integer> cart =new HashMap<String,Integer>();
|
||||
|
||||
private int selectedRow=-1;
|
||||
|
||||
|
||||
|
||||
|
||||
public SeatListFrame(String title, int width, int heigth) {
|
||||
super(title, width, heigth);
|
||||
// TODO 自动生成的构造函数存根
|
||||
|
||||
Seats=pdao.findAll();
|
||||
|
||||
//getContentPane().add(getSearchPanel(),BorderLayout.NORTH);
|
||||
|
||||
JSplitPane splitPane = new JSplitPane();
|
||||
|
||||
splitPane.setDividerLocation(600);
|
||||
|
||||
splitPane.setLeftComponent(getLeftPanel());
|
||||
splitPane.setRightComponent(getRightPanel());
|
||||
|
||||
getContentPane().add(splitPane,BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// private Component getSearchPanel() {
|
||||
// // TODO 自动生成的方法存根
|
||||
//
|
||||
// JPanel searchPanel =new JPanel();
|
||||
// FlowLayout flowLayout =(FlowLayout)searchPanel.getLayout();
|
||||
// flowLayout.setVgap(20);
|
||||
// flowLayout.setHgap(40);
|
||||
//
|
||||
//
|
||||
// return searchPanel;
|
||||
// }
|
||||
|
||||
|
||||
|
||||
private Component getRightPanel() {
|
||||
// TODO 自动生成的方法存根
|
||||
JPanel rightPanel = new JPanel();
|
||||
rightPanel.setBackground(Color.WHITE);
|
||||
rightPanel.setLayout(new GridLayout(2,1,0,0));
|
||||
lblImage = new JLabel();
|
||||
rightPanel.add(lblImage);
|
||||
lblImage.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
|
||||
JPanel detailPanel = new JPanel();
|
||||
detailPanel.setBackground(Color.WHITE);
|
||||
rightPanel.add(detailPanel);
|
||||
detailPanel.setLayout(new GridLayout(8,1,0,5));
|
||||
|
||||
JButton btnAdd = new JButton("购票");
|
||||
btnAdd.setFont(new Font("微软雅黑",Font.PLAIN,15));
|
||||
detailPanel.add(btnAdd);
|
||||
|
||||
|
||||
|
||||
JLabel lb1 = new JLabel();
|
||||
detailPanel.add(lb1);
|
||||
|
||||
JButton btnCheck = new JButton("返回上一层");
|
||||
btnAdd.setFont(new Font("微软雅黑",Font.PLAIN,15));
|
||||
detailPanel.add(btnCheck);
|
||||
|
||||
btnAdd.addActionListener(e->{
|
||||
JLabel lf = new JLabel("购票成功");
|
||||
lf.setFont(new Font("微软雅黑",Font.PLAIN,15));
|
||||
JOptionPane.showMessageDialog(null, lf,"购票成功",JOptionPane.INFORMATION_MESSAGE); //普通提示框
|
||||
});
|
||||
|
||||
btnCheck.addActionListener(e->{
|
||||
MovieListFrame plf =new MovieListFrame("电影列表",1000,700);
|
||||
plf.setVisible(true);
|
||||
setVisible(false);
|
||||
|
||||
});
|
||||
btnAdd.addActionListener(e->{
|
||||
if(selectedRow < 0) {
|
||||
return;
|
||||
}
|
||||
Seatzn selectSeat = Seats.get(selectedRow);
|
||||
String Seatid = selectSeat.getseatidzn();
|
||||
|
||||
if(cart.containsKey(Seatid)) {
|
||||
Integer quantity = cart.get(Seatid);
|
||||
cart.put(Seatid, ++quantity);
|
||||
}else {
|
||||
cart.put(Seatid, 1);
|
||||
}
|
||||
System.out.println(cart);
|
||||
});
|
||||
btnCheck.addActionListener(e->{
|
||||
System.out.println(cart);
|
||||
});
|
||||
|
||||
|
||||
return rightPanel;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private Component getLeftPanel() {
|
||||
// TODO 自动生成的方法存根
|
||||
JScrollPane leftScrollPane = new JScrollPane();
|
||||
leftScrollPane.setViewportView(getTable());
|
||||
return leftScrollPane;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private Component getTable() {
|
||||
// TODO 自动生成的方法存根
|
||||
SeatTableModel pmodel = new SeatTableModel(this.Seats);
|
||||
if(table==null) {
|
||||
table = new JTable(pmodel);
|
||||
table.setFont(new Font("微软雅黑",Font.PLAIN,16));
|
||||
table.getTableHeader().setFont(new Font("微软雅黑",Font.PLAIN,16));
|
||||
table.setRowHeight(51);
|
||||
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
ListSelectionModel rowSelectionModel = table.getSelectionModel();
|
||||
|
||||
rowSelectionModel.addListSelectionListener(e->{
|
||||
if(e.getValueIsAdjusting()) {
|
||||
return;
|
||||
}
|
||||
ListSelectionModel lsm = (ListSelectionModel) e.getSource();
|
||||
selectedRow = lsm.getMinSelectionIndex();
|
||||
if(selectedRow<0) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
}else {table.setModel(pmodel);}
|
||||
return table;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,51 +0,0 @@
|
||||
package com.zn.view;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.table.AbstractTableModel;
|
||||
|
||||
import com.zn.javaBean.Moviezn;
|
||||
import com.zn.javaBean.Seatzn;
|
||||
|
||||
|
||||
public class SeatTableModel extends AbstractTableModel{
|
||||
|
||||
private String[] columnNames= {"座位号","影院","厅次"};
|
||||
private List<Seatzn> seats=null;
|
||||
|
||||
public SeatTableModel(List<Seatzn> seats) {
|
||||
this.seats=seats;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRowCount() {
|
||||
// TODO 自动生成的方法存根
|
||||
return seats.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getColumnCount() {
|
||||
// TODO 自动生成的方法存根
|
||||
return columnNames.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getValueAt(int rowIndex, int columnIndex) {
|
||||
// TODO 自动生成的方法存根
|
||||
Seatzn p=seats.get(rowIndex);
|
||||
|
||||
switch(columnIndex) {
|
||||
case 0:
|
||||
return p.getseatidzn();
|
||||
case 1:
|
||||
return p.getcinemazn();
|
||||
default:
|
||||
return p.gethallzn();
|
||||
}
|
||||
}
|
||||
|
||||
public String getColumnName(int columnIndex) {
|
||||
return columnNames[columnIndex];
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,39 +0,0 @@
|
||||
package com.zn.javaBean;
|
||||
|
||||
public class Seatzn {
|
||||
String seatidzn;
|
||||
String cinemazn;
|
||||
String hallzn;
|
||||
public Seatzn() {
|
||||
}
|
||||
public Seatzn(String seatidzn,String cinemazn,String hallzn){
|
||||
this.seatidzn=seatidzn;
|
||||
this.cinemazn=cinemazn;
|
||||
this.hallzn=hallzn;
|
||||
}
|
||||
public String getseatidzn(){
|
||||
return seatidzn;
|
||||
}
|
||||
public void setseatidzn(String seatidzn){
|
||||
this.seatidzn=seatidzn;
|
||||
}
|
||||
public String getcinemazn(){
|
||||
return cinemazn;
|
||||
}
|
||||
public void setcinemazn(String cinemazn){
|
||||
this.cinemazn=cinemazn;
|
||||
}
|
||||
public String gethallzn(){
|
||||
return hallzn;
|
||||
}
|
||||
public void sethallzn(String hallzn){
|
||||
this.hallzn=hallzn;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Productzn [seatidzn=" + seatidzn + ", cinemazn=" + cinemazn + ", hallzn=" + hallzn
|
||||
+ "]";
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
package com.zn.dao;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.zn.javaBean;
|
||||
|
||||
public interface SeatznDao {
|
||||
public List<Seatzn> findBySeatidzn(String seatidzn);
|
||||
public void insert(Seatzn seatzn);
|
||||
public ArrayList<Seatzn> findAll();
|
||||
public int updateSeatzn(Seatzn seatzn);
|
||||
public int deleteSeatzn(String seatidzn);
|
||||
}
|
||||
@ -1,161 +0,0 @@
|
||||
package com.zn.dao.impl;
|
||||
import java.sql.Connection;
|
||||
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.zn.dao.MovieznDao;
|
||||
import com.zn.dao.SeatznDao;
|
||||
import com.zn.javaBean.Moviezn;
|
||||
import com.zn.javaBean.Seatzn;
|
||||
|
||||
public class SeatznImpl implements SeatznDao {
|
||||
|
||||
@Override
|
||||
public List<Seatzn> findBySeatidzn(String seatidzn) {
|
||||
// TODO 自动生成的方法存根
|
||||
List<Seatzn> ptzn = new ArrayList<Seatzn>();
|
||||
try {
|
||||
Connection connzn = JDBCUtil.getConnection();
|
||||
String sqlzn ="select *from seat where seatid=?";
|
||||
PreparedStatement prestmzn=connzn.prepareStatement(sqlzn);
|
||||
prestmzn.setString(1,seatidzn);
|
||||
ResultSet rszn=prestmzn.executeQuery();
|
||||
while(rszn.next()) {
|
||||
Seatzn seat=new Seatzn();
|
||||
seat.setseatidzn(rszn.getString("seatid"));
|
||||
seat.setcinemazn(rszn.getString("cinema"));
|
||||
seat.sethallzn(rszn.getString("hall"));
|
||||
ptzn.add(seat);
|
||||
}
|
||||
rszn.close();
|
||||
prestmzn.close();
|
||||
connzn.close();
|
||||
}
|
||||
catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return ptzn;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insert(Seatzn seatzn) {
|
||||
// TODO 自动生成的方法存根
|
||||
try {
|
||||
Connection connzn = JDBCUtil.getConnection();
|
||||
String sqlzn ="Insert into seat (seatid,cinema,hall) values(?,?,?)";
|
||||
PreparedStatement prestmzn=connzn.prepareStatement(sqlzn);
|
||||
prestmzn.setString(1,seatzn.getseatidzn());
|
||||
prestmzn.setString(2,seatzn.getcinemazn());
|
||||
prestmzn.setString(3,seatzn.gethallzn());
|
||||
prestmzn.executeUpdate();
|
||||
prestmzn.close();
|
||||
connzn.close();
|
||||
}
|
||||
catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<Seatzn> findAll() {
|
||||
ArrayList<Seatzn> seats=new ArrayList<Seatzn>();
|
||||
try {
|
||||
Connection connzn = JDBCUtil.getConnection();
|
||||
String sql ="select *from seat";
|
||||
Statement sts =connzn.createStatement();
|
||||
ResultSet rs=sts.executeQuery(sql);
|
||||
while(rs.next()) {
|
||||
Seatzn seat=new Seatzn();
|
||||
seat.setseatidzn(rs.getString("seatid"));
|
||||
seat.setcinemazn(rs.getString("cinema"));
|
||||
seat.sethallzn(rs.getString("hall"));
|
||||
seats.add(seat);
|
||||
}
|
||||
rs.close();
|
||||
sts.close();
|
||||
connzn.close();
|
||||
}
|
||||
catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// TODO 自动生成的方法存根
|
||||
return seats;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateSeatzn(Seatzn seatzn) {
|
||||
// TODO 自动生成的方法存根
|
||||
try {
|
||||
Connection connzn = JDBCUtil.getConnection();
|
||||
String sqlzn ="update seat set hall=?,cinema=? where seatid=?";
|
||||
PreparedStatement prestmzn=connzn.prepareStatement(sqlzn);
|
||||
prestmzn.setString(3,seatzn.getseatidzn());
|
||||
prestmzn.setString(1,seatzn.gethallzn());
|
||||
prestmzn.setString(2,seatzn.getcinemazn());
|
||||
prestmzn.executeUpdate();
|
||||
prestmzn.close();
|
||||
connzn.close();
|
||||
}
|
||||
catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteSeatzn(String seatidzn) {
|
||||
int flagzn=0;
|
||||
// TODO 自动生成的方法存根
|
||||
try {
|
||||
Connection connzn = JDBCUtil.getConnection();
|
||||
String sqlzn ="delete from seat where seatid=?";
|
||||
PreparedStatement prestmzn=connzn.prepareStatement(sqlzn);
|
||||
prestmzn.setString(1,seatidzn);
|
||||
flagzn = prestmzn.executeUpdate();
|
||||
prestmzn.close();
|
||||
connzn.close();
|
||||
}
|
||||
catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return flagzn;
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
SeatznImpl aczn =new SeatznImpl();
|
||||
for(Seatzn al : aczn.findAll()) {
|
||||
System.out.print(al);
|
||||
System.out.println("");
|
||||
System.out.println("---------------------------");
|
||||
}
|
||||
System.out.println(aczn.findBySeatidzn("1"));
|
||||
System.out.println("---------------------------");
|
||||
Seatzn a1zn=new Seatzn("5","123","123");
|
||||
aczn.updateSeatzn(a1zn);
|
||||
for(Seatzn al : aczn.findAll()) {
|
||||
System.out.print(al);
|
||||
System.out.println("");
|
||||
System.out.println("---------------------------");
|
||||
}
|
||||
System.out.println(aczn.deleteSeatzn("5"));
|
||||
System.out.println("---------------------------");
|
||||
for(Seatzn al : aczn.findAll()) {
|
||||
System.out.print(al);
|
||||
System.out.println("");
|
||||
System.out.println("---------------------------");
|
||||
}
|
||||
Seatzn a2zn=new Seatzn("3","123","123");
|
||||
aczn.insert(a2zn);
|
||||
for(Seatzn al : aczn.findAll()) {
|
||||
System.out.print(al);
|
||||
System.out.println("");
|
||||
System.out.println("---------------------------");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
driver=com.mysql.cj.jdbc.Driver
|
||||
url=jdbc:mysql://localhost:3306/movie?userSSL=false&serverTimezone=Asia/Shanghai
|
||||
user=root
|
||||
password=20040315tang
|
||||
userSSL = false
|
||||
serverTimezone = Asia/Shanghai
|
||||
Loading…
Reference in new issue