網站開發
電商類型的特徵:
訪問量大
數據量大
併發高,實戰性強
業務複雜性,技術性
支付安全
(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上創建項目,下載到本地:
通用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
- #解決通用Mapper報錯
-
-
-
設置個性化查詢:
-
通過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;
- upstream user.gmall.com{
-
}
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 {
- @Controller
@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’;
-