当年的java考试:Java景区预约登记管理系统(maven整合servlet)-3

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 当年的java考试:Java景区预约登记管理系统(maven整合servlet)

添加mybatis对应maven包

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.5.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.7.10</version>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.6</version>
</dependency>


image.png

image.png


在src/main/的resources内创建【mybatis-config.xml】文件


image.png

配置头部:


<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

添加图下配置编码:


<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>
    <typeAliases>
        <package name="com.item.model"/>
    </typeAliases>
    <environments default="dev">
        <environment id="dev">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/mytest?characterEncoding=utf-8"/>
                <property name="username" value="root"/>
                <property name="password" value="12345678"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/item/mapper/TbTourinfoMapper.xml"></mapper>
    </mappers>
</configuration>


image.png


根据【com/item/mapper/TbTourinfoMapper.xml】在【resources】下创建包与配置文件


image.png

image.png



编码内容如下,包含【查询】【筛选查询】【添加】【删除】【修改】

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.item.mapper.TbTourinfoMapper">
    <!-- 查询所有 -->
    <select id="GetInfo" resultType="TbTourinfo">
        select * from tb_tourinfo;
    </select>
    <!-- 各种查询-->
    <select id="SelectByNameSexType" resultType="TbTourinfo">
        select * from tb_tourinfo
        <if test="name!=null or sex!=null or type!=null">
            where 1=1
        </if>
        <if test="name!=null">
            and name like "%${name}%"
        </if>
        <if test="sex!=null">
            and sex="${sex}"
        </if>
        <if test="type!=null">
            and type="${type}"
        </if>
    </select>
    <insert id="AddInfo">
        insert into tb_tourinfo values
        (
        0,
        "${name}",
        "${sex}",
        "${id_no}",
        #{age},
        #{type},
        NOW(),
        #{visit_state},
        now()
        );
    </insert>
    <!-- 删除语句 -->
    <delete id="DeleteById" parameterType="java.lang.Integer">
        delete from tb_tourinfo where id=#{id}
    </delete>
    <!-- 修改状态在语句 -->
    <update id="UpdateById">
        update tb_tourinfo set visit_state=#{visit_state} where id=#{id}
    </update>
</mapper>

在【resources】下创建【log4j.properties】文件

#全局配置
log4j.rootLogger=debug,stdout,ERROR
#MyBatis日志配直
log4j.logger.com.item.mapper=TRACE
#控制台输出配置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

image.png


创建【com.item.model】内【TbTourinfo】文件

需要添加数据表对应的【属性】,并添加【Getter】与【Setter】以及【toString】方法。


package com.item.model;
import java.util.Date;
public class TbTourinfo {
    private int id;
    private String name;
    private String sex;
    private String id_no;
    private int age;
    private String type;
    private Date visit_date;
    private int visit_state;
    private Date register_time;
    @Override
    public String toString() {
        return "TbTourinfo{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", id_no='" + id_no + '\'' +
                ", age=" + age +
                ", type='" + type + '\'' +
                ", visit_date=" + visit_date +
                ", visit_state=" + visit_state +
                ", register_time=" + register_time +
                '}';
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getId_no() {
        return id_no;
    }
    public void setId_no(String id_no) {
        this.id_no = id_no;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public Date getVisit_date() {
        return visit_date;
    }
    public void setVisit_date(Date visit_date) {
        this.visit_date = visit_date;
    }
    public int getVisit_state() {
        return visit_state;
    }
    public void setVisit_state(int visit_state) {
        this.visit_state = visit_state;
    }
    public Date getRegister_time() {
        return register_time;
    }
    public void setRegister_time(Date register_time) {
        this.register_time = register_time;
    }
}

在【com.item.mapper】下创建【TbTourinfoMapper】

package com.item.mapper;
import com.item.model.TbTourinfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface TbTourinfoMapper {
    List<TbTourinfo> GetInfo();
    /**
     * 根据参数进行查询
     * @param name (姓名)
     * @param sex (性别)
     * @param type (会员类型)
     * @return
     */
    List<TbTourinfo> SelectByNameSexType(
            @Param("name") String name,
            @Param("sex") String sex,
            @Param("type") String type
    );
    int AddInfo(
            @Param("name") String name,
            @Param("sex") String sex,
            @Param("id_no") String id_no,
            @Param("age") int age,
            @Param("type") int type,
            @Param("visit_state") int visit_state
    );
    int DeleteById(@Param("id") int id);
    int UpdateById(@Param("visit_state") int visit_state,
                   @Param("id") int id);
}


在【com.item.common】下创建JDBC用于获取数据库连接池链接

package com.item.common;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.Reader;
public class JDBC {
    public static SqlSessionFactory GetConn(){
        try {
            Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
            return factory;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    public static void main(String[] args) {
        System.out.println(GetConn());
    }
}

在【com.item.dao】下创建【TbTourinfoDAO.java】文件

package com.item.dao;
import com.item.common.JDBC;
import com.item.mapper.TbTourinfoMapper;
import com.item.model.TbTourinfo;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import java.util.List;
public class TbTourinfoDAO {
    /**
     * 查询所有
     * @return
     */
    public static List<TbTourinfo> GetInfo(){
        SqlSessionFactory factory = JDBC.GetConn();
        SqlSession session = factory.openSession();
        TbTourinfoMapper db = session.getMapper(TbTourinfoMapper.class);
        List<TbTourinfo> list = db.GetInfo();
        session.close();
        return list;
    }
    /**
     * 综合信息查询
     * @param name
     * @param sex
     * @param type
     * @return
     */
    public static List<TbTourinfo> SelectByNameSexType(String name,String sex,String type){
        SqlSessionFactory factory = JDBC.GetConn();
        SqlSession session = factory.openSession();
        TbTourinfoMapper db = session.getMapper(TbTourinfoMapper.class);
        List<TbTourinfo> list = db.SelectByNameSexType(name,sex,type);
        session.close();
        return list;
    }
    /**
     * 添加
     * @param name
     * @param sex
     * @param id_no
     * @param age
     * @param type
     * @param visit_state
     * @return
     */
    public static boolean AddInfo(String name,String sex,String id_no,int age,int type,int visit_state){
        SqlSessionFactory factory = JDBC.GetConn();
        SqlSession session = factory.openSession();
        TbTourinfoMapper db = session.getMapper(TbTourinfoMapper.class);
        int rows = db.AddInfo(name, sex, id_no, age, type, visit_state);
        session.commit();
        session.close();
        return rows>0;
    }
    /**
     * 删除
     * @param id
     * @return
     */
    public static boolean DeleteById(int id){
        SqlSessionFactory factory = JDBC.GetConn();
        SqlSession session = factory.openSession();
        TbTourinfoMapper db = session.getMapper(TbTourinfoMapper.class);
        int rows = db.DeleteById(id);
        session.commit();
        session.close();
        return rows>0;
    }
    /**
     * 修改
     * @param visit_state
     * @param id
     * @return
     */
    public static boolean UpdateById(int visit_state,int id){
        SqlSessionFactory factory = JDBC.GetConn();
        SqlSession session = factory.openSession();
        TbTourinfoMapper db = session.getMapper(TbTourinfoMapper.class);
        int rows = db.UpdateById(visit_state,id);
        session.commit();
        session.close();
        return rows>0;
    }
    public static void main(String[] args) {
        int oldState=1;
        System.out.println(UpdateById(oldState==0?1:0,7));
    }
}


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
20天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
58 3
|
24天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
22 1
|
26天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
29天前
|
移动开发 前端开发 JavaScript
java家政系统成品源码的关键特点和技术应用
家政系统成品源码是已开发完成的家政服务管理软件,支持用户注册、登录、管理个人资料,家政人员信息管理,服务项目分类,订单与预约管理,支付集成,评价与反馈,地图定位等功能。适用于各种规模的家政服务公司,采用uniapp、SpringBoot、MySQL等技术栈,确保高效管理和优质用户体验。
|
1月前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
48 1
|
1月前
|
Java 关系型数据库 API
介绍一款Java开发的企业接口管理系统和开放平台
YesApi接口管理平台Java版,基于Spring Boot、Vue.js等技术,提供API接口的快速研发、管理、开放及收费等功能,支持多数据库、Docker部署,适用于企业级PaaS和SaaS平台的二次开发与搭建。
|
1月前
|
前端开发 Java 数据库连接
基于Java的校车管理系统(下)
基于Java的校车管理系统(下)
23 0
|
前端开发 Java
Java学习路线-49:Servlet过滤器Filter(1)
Java学习路线-49:Servlet过滤器Filter
168 0
Java学习路线-49:Servlet过滤器Filter(1)
Java学习路线-49:Servlet过滤器Filter(3)
Java学习路线-49:Servlet过滤器Filter
147 0
|
Java 数据库 数据安全/隐私保护
Java学习路线-49:Servlet过滤器Filter(2)
Java学习路线-49:Servlet过滤器Filter
104 0

推荐镜像

更多
下一篇
无影云桌面