实训总结

实训概述

在此次实训中,我主要负责的是后台部分,所以这篇实训总结主要写后台的一些收获,其中会有一点前端的小收获。
通过这次实训,我知道了一个项目在后台实现的主要步骤,学会了配置数据库、SpringBoot配置Mybatis,了解了一些前端与后台的连接,等等。

标题

  1. 项目前期准备
    E-R图、功能结构图、流程图让我们对项目有初步的框架与了解;配置数据库、SpringBoot配置Mybatis让我们为项目的开始做好环境上的准备。
    E-R图(实体-联系图):实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。
    E-R图
    流程图:让我们更形象直观地明白各种操作及其之间的关系,是我们的想法得到更直观充分的体现。
    登录流程图
    功能结构图:将系统功能分解,按功能从属关系来画图。
    投票系统功能结构图
    配置数据库:
    SpringBoot配置Mybatis:a、引入Maven依赖;b、创建mybatis-config.xml;c、创建entity和mapper;d、配置application.yml文件;e、配置MapperScan;f、配置数据源
    <!-- mysql连接 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>

    <!-- mybatis依赖 -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.2</version>
    </dependency>
<?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>
        <!--使用jdbc的getGeneratedKeys获取数据库自增主键值-->
        <setting name="useGeneratedKeys" value="true"/>

        <!--使用列标签替换列别名 默认true-->
        <setting name="useColumnLabel" value="true"/>

        <!--开启驼峰命名转换-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
</configuration>
<!--头部信息,确定xml规范-->
<?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">
<!--此处是对应UserDao接口-->
<mapper namespace="org.sicau.iotworksexhibition.dao.UserDao">
    <!--此处的Student对应POJO实体,id对应定义方法名-->
<select id="queryStudentList" resultType="org.sicau.iotworksexhibition.entity.POJO.Student">
        select * from user_tb;
    </select>
</mapper>
# mybatis 配置
mybatis:
  mapper-locations: classpath:mapper/*.xml # 配置mapper路径
  type-aliases-package: org.sicau.iotworksexhibition.PO # 配置实体对象路径,这样在涉及到实体类写sql语句的时候,可以不用写包名
  config-location: classpath:mybatis-config.xml # 配置配置文件路径
@SpringBootApplication
@MapperScan("org.sicau.iotworksexhibition.dao") //扫描mybatis的mapper
public class IotWorksExhibitionApplication {
    public static void main(String[] args) {
        SpringApplication.run(IotWorksExhibitionApplication.class, args);
    }
}
spring:
# 配置数据源
  datasource:
    url: jdbc:mysql://localhost:3306/iot_works_exhibition?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root  # 数据库用户名
    password: 123456 # 数据库密码
    dbcp2:
      default-auto-commit: false  # 是否自动提交
    tomcat:
      max-wait: 60000 # 等待超时时间

转载出处:http://blog.beifengtz.com/article/12

  1. 项目中
    a、 Java包命名中有四种项目类型:com.(具有商业性的项目,受法律保护)\org.(国家、教育、政府机构,受法律保护)\net.(个人项目,不受法律保护)\demo.(练习案例,不受法律保护)
    b、 PO(持久对象:与数据库一一对应)、POJO(简单实体对象)、VO(值对象:对象传输,通常用于业务层之间的传递)
    c、 重写与重载的区别:
    重写(Override):在子类中把父类本身有的方法重新写一遍。发生在父类与子类之间;方法名,参数列表,返回类型(除过子类中方法的返回类型是父类中返回类型的子类)必须相同;访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private) ;重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常
    重载(Overload):在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同甚至是参数顺序不同)则视为重载。重载Overload是一个类中多态性的一种表现;重载要求同名方法的参数列表不同(参数类型,参数个数甚至是参数顺序) ;重载的时候,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准
    d、UserController–> UserService–>UserServiceImp–>UserDao–>UserMapper–>db
    e、cookie:存在固定时间长短的数据(保存在浏览器里面);localStorage:永久存在的,存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信;sessionStorage:存在服务器端。仅在当前会话下有效,关闭页面或浏览器后被清除。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。
    f、还有分页、数据的增删改查,等等
    g、前端:ajax
    在这里插入图片描述
    url:(默认为当前页地址)发送请求的地址。url路径可以为相对路径或者绝对路径。
    type:用什么方式传输:POST(创建)、GET(查看)<默认>、DELETE(删除)、PUT(更新)。注意其他http请求方法, put和delete仅部分浏览器支持。
    data:传参数;要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。
    datatype:预期服务器返回的数据类型。类型:String;“xml”: 返回 XML 文档,可用 jQuery 处理;“html”: 返回纯文本 HTML 信息。包含的 script标签会在插入 dom 时执行;“script”:返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 “cache” 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载);“json”: 返回 JSON 数据 ;“jsonp”:JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数;“text”:返回纯文本字符串。
    转载参考:http://www.cnblogs.com/tylerdonet/p/3520862.html
    项目框架
    在这里插入图片描述
    在这里插入图片描述

感想

  1. 项目分工应明确合理:明确合理的分工有利于我们目标明确地完成我们的项目。
  2. 逻辑需清晰:不论是前端还是后台,清晰的逻辑都有利于我们更好的完成项目。在在做项目之前,首先就要理清自己的思维,明白我想做的是什么样的,不然会很容易混乱。
    注:此博文纯属新手渣作,请选择性看,诚请批评指正。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值