网站开发实战

网站开发

网站开发实战思维导图
网站开发实战_第1张图片

电商类型的特征:

访问量大

数据量大

并发高,实战性强

业务复杂性,技术性

支付安全

(B2C)开发技术:

网站开发实战_第2张图片

IDEA:

JDK

网站开发实战_第3张图片

Maven

网站开发实战_第4张图片

- settings.xml

	- 
		alimaven
		central
		aliyun maven
		http://maven.aliyun.com/nexus/content/groups/public/

设置国内maven源

每个项目都要设置Maven,否则每次都会下载

Demo:

  • 1、新建Maven项目

  • 2、在新建的Maven项目基础上,新建Model,选择SpringBoot,并勾选相应服务

  • 3、编辑Model中的Resource中的application.properties

    • server.port=8080

      • 设置端口
    • 注意:
      网站开发实战_第5张图片

      • 若编辑无提示,则点击右侧Maven并刷新
  • 4、Java逻辑:

package com.example.demo0105;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class IndexController {
     

    @RequestMapping("index")
    @ResponseBody   //返回json字符串
    public String index() {
     

        return "Hello idea springboot";
    }

    ;

}
  • 5、运行访问:

    • http://localhost:8080/index

Git的配置:

  • 1、Git上创建项目,下载到本地:

    • 创建项目:

      • 官网然后创建项目
    • 下载:

      • 方法1:
        网站开发实战_第6张图片

      • 方法2:

        • 网站开发实战_第7张图片
    • 提交:

      • 先把项目提交到本地仓库,然后再本地仓库和Git仓库做合并

        • 提交到本地仓库:

          • 添加项目:
            网站开发实战_第8张图片

          • 提交项目:

            • 网站开发实战_第9张图片
        • 与Git仓库合并:

          • 提交:
            网站开发实战_第10张图片

          • 合并:

            • 网站开发实战_第11张图片
          • 注意:

            • 必须填写提交信息
      • 注意:

        • 只提交三样东西:

          • pom.xml
          • application.properties
          • src文件夹(java源代码)
        • .idea下的所有文件都不提交

通用Mapper

可以将单表的增删改查操作省去

pom.xml(导入依赖)

tk.mybatis mapper-spring-boot-starter 1.2.3 org.springframework.boot spring-boot-starter-jdbc

使用通用Mapper注意:

  • 1、需要继承Mapper

    • Mapper接口继承:

      • 网站开发实战_第12张图片
    • 效果:

      • 网站开发实战_第13张图片
  • 2、Bean类需要添加注解

    • 网站开发实战_第14张图片
  • 3、使用通用Mapper时,需要使用通用Mapper的扫描器

  • 启动报错:

    • 错误:

      • java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    • 解决:

      • application.properties

        • #解决通用Mapper报错
          mapper.identity=MYSQL
  • 设置个性化查询:

    • 通过ID查询:

      • 方法1:

@Override
    public List<UmsMemberReceiveAddress> getReceiveAddressByMemberId(String memberId) {
     
        //ByExample()根据外键查询
        //设置泛型
        Example e=new Example(UmsMemberReceiveAddress.class);
        //根据什么规则去查询
        e.createCriteria().andEqualTo("memberId","memberId");
        List<UmsMemberReceiveAddress> umsMemberReceiveAddressList=umsMemberReceiveAddressMapper.selectByExample(e);
        return umsMemberReceiveAddressList;
    }
}
	- 方法2:
- UmsMemberReceiveAddress umsMemberReceiveAddress = new UmsMemberReceiveAddress();
        umsMemberReceiveAddress.setMemberId(memberId);
        List<UmsMemberReceiveAddress> umsMemberReceiveAddressList = umsMemberReceiveAddressMapper.selectByExample(umsMemberReceiveAddress);
        return umsMemberReceiveAddressList;

				- 纠正

					-  UmsMemberReceiveAddress umsMemberReceiveAddress = new UmsMemberReceiveAddress();
        umsMemberReceiveAddress.setMemberId(memberId);
//        List umsMemberReceiveAddressList = umsMemberReceiveAddressMapper.selectByExample(umsMemberReceiveAddress);
        List<UmsMemberReceiveAddress> umsMemberReceiveAddressList = umsMemberReceiveAddressMapper.select(umsMemberReceiveAddress);
        return umsMemberReceiveAddressList;
  • IDEA快捷键:

    • Ctrl+Alt+v

      • 快速本地变量
    • Ctrl+V

      • 查看最近操作文件
  • 设置日记级别:

    • application.properties

      • #设置日志级别
        logging.level.root=

        • info

          • 能不打印就不打印
        • debug

          • 执行过程都打印

域名的配置:

步骤一(自定义域名):

  • ‪C:\Windows\System32\drivers\etc\hosts

    • 127.0.0.1 localhost user.gmall.com cart.gmall.com manage.gmall.com www.gmall.com
  • 刷新本地DNS:

    • ipconfig /flushdns
  • 效果:

    • http://user.gmall.com:8080/index

步骤二(隐藏端口):

  • Nginx:

    • D:\nginx\conf\nginx.conf

      • upstream user.gmall.com{
        server 127.0.0.1:8080;

}
server {
listen 80;
server_name user.gmall.com;
location / {
proxy_pass http://user.gmall.com;
proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
}
}

  • 启动Nginx:

    • 目录下(start nginx)
  • 效果:

    • http://user.gmall.com/index

User管理项目

1、新建model,选择springweb、mysql驱动、jdbc、mybatis

  • spring boot配置文件

    • application.properties

      • #服务端口号
        server.port=8080
        #JDBC配置
        #数据库用户名
        spring.datasource.username=root
        #数据库密码
        spring.datasource.password=123456
        #数据库连接
        spring.datasource.url=jdbc:mysql://localhost:3306/gmall_study?characterEncoding=UTF-8

                          #Mybatis配置
        

#mapper.xml文件存放地址(class:mapper表示读编译路径下所有以Mapper.xml结尾的文件)
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
#数据库下划线转java驼峰命名
mybatis.configuration.map-underscore-to-camel-case=true

		- resource文件下下新建mapper文件夹

2、编写controller、service

  • bean

  • controller

    • @Controller
      public class UserController {
@Autowired
UserService userService;


@RequestMapping("index")
@ResponseBody
public String index() {
    return "hello user";

}

- mapper
- service

	- impl

		- @Service

public class UserServiceImpl implements UserService {

@Autowired
UserMapper userMapper;

}

- GmallUserApplication.java

	- @SpringBootApplication

@MapperScan(basePackages = “com.atguigu.gmall.user.mapper”) //扫描mapper
public class GmallUserApplication {

public static void main(String[] args) {
    SpringApplication.run(GmallUserApplication.class, args);
}

}

3、编写bean映射类,映射数据库#表

4、编写具体功能

注意:

  • 自动导包设置:

    • 网站开发实战_第15张图片
  • IDAE@Autowired自动导包误报:

    • 网站开发实战_第16张图片
  • IDEA书写mysql提示:

    • 注意:

      • 报错:

        • Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezone’ property manually.
      • 解决:

        • set global time_zone = ‘+8:00’;

数据结构和设计工具:

Navicat Data Modeler

EZDML

你可能感兴趣的:(项目开发,数据库,spring,java,mysql,mybatis)