網站開發實戰

網站開發

網站開發實戰思維導圖
在這裏插入圖片描述

電商類型的特徵:

訪問量大

數據量大

併發高,實戰性強

業務複雜性,技術性

支付安全

(B2C)開發技術:

在這裏插入圖片描述

IDEA:

JDK

在這裏插入圖片描述

Maven

在這裏插入圖片描述

- settings.xml

	- <mirror>
		<id>alimaven</id>
		<mirrorOf>central</mirrorOf>
		<name>aliyun maven</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
設置國內maven源

每個項目都要設置Maven,否則每次都會下載

Demo:

  • 1、新建Maven項目

  • 2、在新建的Maven項目基礎上,新建Model,選擇SpringBoot,並勾選相應服務

  • 3、編輯Model中的Resource中的application.properties

    • server.port=8080

      • 設置端口
    • 注意:
      在這裏插入圖片描述

      • 若編輯無提示,則點擊右側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:
        在這裏插入圖片描述

      • 方法2:

        • 在這裏插入圖片描述
    • 提交:

      • 先把項目提交到本地倉庫,然後再本地倉庫和Git倉庫做合併

        • 提交到本地倉庫:

          • 添加項目:
            在這裏插入圖片描述

          • 提交項目:

            • 在這裏插入圖片描述
        • 與Git倉庫合併:

          • 提交:
            在這裏插入圖片描述

          • 合併:

            • 在這裏插入圖片描述
          • 注意:

            • 必須填寫提交信息
      • 注意:

        • 只提交三樣東西:

          • 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接口繼承:

      • 在這裏插入圖片描述
    • 效果:

      • 在這裏插入圖片描述
  • 2、Bean類需要添加註解

    • 在這裏插入圖片描述
  • 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<UmsMemberReceiveAddress> 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、編寫具體功能

注意:

  • 自動導包設置:

    • 在這裏插入圖片描述
  • IDAE@Autowired自動導包誤報:

    • 在這裏插入圖片描述
  • 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章