A、实现语言
Java
B、环境要求
idea, JDK, Tomcat , mysql
某电影院计划使用ssm开发一套订票系统,mysql作为后台数据库。其中“电影管理”功能由你来完成。
要求实现:
1.“电影信息显示页面”功能显示所有电影信息,选择类型,点击查询,可以按类型进行查找该类型的电影信息。
数据库名称及要求:数据库名称film_自己名字拼音缩写_日期。例如: film_zhangsan_0918



1、建立数据库和数据表,并且添加测试数据(至少3条)。
2、打开idea,创建Web工程,命名为film_自己名字缩写_日期,并创建相应包(包名必须包含自己名字缩写)。
3、在工程中创建实体类。
4、创建数据访问接口、业务类,创建对应的实现。
5、创建controller,实现“添加电影信息”和“电影信息显示”功能。
7、实现“显示电影信息”功能,必须检索;
8、实现“添加电影信息”功能,并进行数据校验。
9、测试程序,调试运行成功后,监考老师现场改分。
1.请注意界面美观,添加适当CSS样式表;
2.请注意代码的书写、命名符合规范,在代码中添加必要的注释;
3.请注意操作数据库时进行必要的异常处理。
注意:要先生成type_info表,再生成film_info表










表单中每一个输入框都有非空校验(如下图),效果展示(和上图相似)。略!










#创建数据库
create database film_wangwenbiao_0913
#设置字符集
default character set utf8mb4
#设置编码方式
default collate utf8mb4_general_ci
create table film_info
(
film_id int primary key auto_increment,
film_name varchar(50) not null,
film_type int not null,
foreign key (film_type)
references type_info(type_id),
film_duration int not null,
release_date date not null,
film_remark varchar(200) not null
);
select * from film_info;
insert into film_info
(film_id,film_name,film_type,film_duration,release_date,film_remark)
values
(1001,'老师好',1,111,'2019-03-22','1985年的南宿一中,苗宛秋(于谦饰)老师推自行车昂首走在校园,接受着人们艳羡的目光和纷至沓来的恭维。三班是一个永远也不缺故事的集体。苗宛秋怎么也不会想到,他即将走进的这个三班将会成为他以及他身边这辆自行车的噩梦。三班的同学也没有想到,这位新来的老师改变了他们的一生。');
create table type_info
(
type_id int primary key auto_increment,
type_name varchar(50) not null
);
select * from film_info;
select * from type_info;
insert into type_info
(type_id,type_name)
values
(1,'戏剧'),
(2,'奇幻'),
(3,'谍战'),
(4,'自然');
4.0.0
org.example
film_wwb_0913
1.0-SNAPSHOT
war
film_wwb_0913 Maven Webapp
http://www.example.com
8
8
4.0.1
2.2
1.2
5.3.14
1.4
3.4.6
1.3.3
8.0.11
1.2.78
junit
junit
4.12
javax.servlet
javax.servlet-api
${servlet.version}
provided
javax.servlet.jsp
jsp-api
${jsp.version}
provided
jstl
jstl
${jstl.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-jdbc
${spring.version}
commons-dbcp
commons-dbcp
${commons-dbcp.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${mybatis-spring.version}
com.github.pagehelper
pagehelper
5.1.0
com.github.abel533
mapper
3.0.1
mysql
mysql-connector-java
${mysql-connector-java.version}
com.alibaba
fastjson
${fastjson.version}
org.projectlombok
lombok
1.18.24
com.fasterxml.jackson.core
jackson-databind
2.11.2
com.sun.mail
javax.mail
1.5.6
org.slf4j
slf4j-api
1.7.30
com.github.xuwei-k
html2image
0.1.0
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/film_wangwenbiao_0913?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=123456
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath:spring-mybatis.xml
charactorEncoding
org.springframework.web.filter.CharacterEncodingFilter
charactorEncoding
/*
DispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
DispatcherServlet
/
package com.que.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "film_info")
public class Film_info {
@Id
@GeneratedValue(generator = "JDBC",strategy = GenerationType.IDENTITY)
private Integer filmId;
private String filmName;
private Integer filmType;
private Integer filmDuration;
private Date releaseDate;
private String filmRemark;
}
package com.que.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "type_info")
public class Type_info {
@Id
@GeneratedValue(generator = "JDBC",strategy = GenerationType.IDENTITY)
private Integer typeId;
private String typeName;
}
package com.que.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/*
*@Auther jjk
*@Date 2022/8/29*
*@Description
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CommonResult {
//编码:0成功,1失败
private Integer code;
//提示消息
private String msg;
//记录数
private Integer count;
//记录数据
private Object data;
//返回查询结果的成功信息:
public static CommonResult success(Integer count, Object data){
return new CommonResult(0,"success",count,data);
}
//返回增删改的成功信息
public static CommonResult success(){
return new CommonResult(0,"success",null,null);
}
//返回失败信息
public static CommonResult fail(){
return new CommonResult(1,"fail",null,null);
}
}
package com.que.mapper;
import com.github.abel533.mapper.Mapper;
import com.que.entity.Film_info;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface FilmMapper extends Mapper {
List package com.que.mapper;
import com.github.abel533.mapper.Mapper;
import com.que.entity.Type_info;
import java.util.List;
public interface TypeMapper extends Mapper {
List listAll();
}
package com.que.service;
import com.que.entity.Film_info;
import java.util.List;
import java.util.Map;
public interface IFilmService {
Listpackage com.que.service;
import com.que.entity.Type_info;
import java.util.List;
public interface ITypeService {
List listAll();
}
package com.que.service.impl;
import com.que.entity.Film_info;
import com.que.mapper.FilmMapper;
import com.que.service.IFilmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class FilmServiceImpl implements IFilmService {
@Autowired
private FilmMapper filmMapper;
@Override
public int insertFilm(Film_info film_info) {
return filmMapper.insertSelective(film_info);
}
@Override
public Listpackage com.que.service.impl;
import com.que.entity.Type_info;
import com.que.mapper.FilmMapper;
import com.que.mapper.TypeMapper;
import com.que.service.ITypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class TypeServiceImpl implements ITypeService {
@Autowired
private TypeMapper typeMapper;
@Override
public List listAll() {
return typeMapper.listAll();
}
}
package com.que.controller;
import com.alibaba.fastjson.JSONObject;
import com.que.entity.CommonResult;
import com.que.entity.Film_info;
import com.que.service.IFilmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/film")
public class FilmController {
@Autowired
private IFilmService iFilmService;
@RequestMapping("listAll")
public CommonResult listAll(Integer filmType){
System.out.println("============listAll============");
System.out.println("返回结果:"+iFilmService.listAll(filmType));
Listpackage com.que.controller;
import com.que.entity.Type_info;
import com.que.service.ITypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("type")
public class TypeController {
@Autowired
private ITypeService iTypeService;
@RequestMapping("listAll")
public List listAll(){
return iTypeService.listAll();
}
}
package com.que.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/forward")
public class ForwardController {
@RequestMapping("/toFilm")
public String toFilm(){
return "film";
}
}
<%--
Created by IntelliJ IDEA.
User: 33154
Date: 2022/9/13
Time: 19:59
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--display: none;--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Hello World!
页面