1. 程式人生 > 遊戲 >模擬遊戲《酒店大亨》發售日公開 不支援中文

模擬遊戲《酒店大亨》發售日公開 不支援中文

1.概述

框架: 是一個結構,框架提供了很多的類,由框架控制每個類呼叫的過程流程 SSM框架裡,第一個S就是指SpringMVC,是一個框架. 是Spring框架的一個後續產品,遵循了MVC的設計模式,保證了程式間的鬆耦合. SpringMVC主要作用:1,接受請求(解析請求引數) 2,做出響應 MVC的設計模式: M是Model模型,用來封裝資料 V是View檢視,用來展示資料 C是Controller控制器,用來控制瀏覽器如何請求,做出資料響應 好處: 提高程式碼的複用性 , 鬆耦合

2.入門案例---插入表格中

2.1.一個啟動類RunApp,用來啟動伺服器

//標記著這是springboot的啟動類
@SpringBootApplication
public class RunApp {
public static void main(String[] args) {
SpringApplication.run(RunApp.class);//運行當前類
}
}

2.2.一個pojo類

public class Car{
private String name ;
private Integer Id ;
private String Type ;
private Double Price ;
}

2.3.一個控制類

//完成springmvc的角色,接受請求和給出響應
//是MVC設計模式裡的C控制器,接受請求和給出響應
@RestController
//標記著這個類是Controller是一個控制器+接受請求
@RequestMapping("car")//規定了url怎麼訪問這個類
public class HelloController {
//測試: http://localhost:8080/car/get
@RequestMapping("get")//規定了url怎麼訪問這個方法
public String show(){
return "123";
}
//  SpringMVC框架除了能返回字串,整數以外,還能返回物件資訊
//測試: http://localhost:8080/car/get2
@RequestMapping("get2")
public Car get(){
Car c = new Car();
//給客戶端準備資料
c.setId(718);
c.setName("保時捷");
c.setType("Cayman T");
c.setColor("紅色");
c.setPrice(641000);
return c; //把物件資訊 變成JSON字串在瀏覽器展示
}
@RequestMapping("get")//規定了瀏覽器的訪問方式
public class GetController{
//測試 http://localhost:8080/get/param4?id=100&name=BMW&type=X6&color=red&price=9.9
@RequestMapping("param4")
//public String param4(int id,String name,String type,String color,double price){
public Car param4(Car c){//直接用物件接受引數,框架會自動封裝屬性的值
return c;
}

3..SpringMVC解析請求的引數

restful風格的資料:http://localhost:8080/car/insert/1/張三/18

3.1 分割獲取屬性

 @Test //單元測試方法
public void get1(){
String url ="http://localhost:8080/car/insert?id=1&name=張三&age=18";
String[] a = url.split("\\?")[1].split("&");
for(String s : a){
String data = s.split("=")[1];
System.out.println(data);
}
}

3.2 spring獲取屬性(也可以物件)

//測試:localhost:8080/get/param3?id=100&name=張三&price=9.9
@RequestMapping("param3")
public String param3(int id,String name,double price){
return id+name+price;
}



//解析restful傳遞的引數:簡化了get方式引數的寫法
//http://localhost:8080/car/get2/100/張三
@RequestMapping("get2/{id}/{name}")
//{x}--通過{}獲取訪問路徑中攜帶的引數,並且交給變數x儲存
//@PathVariable -- 獲取{}中間變數的值

public String get2(@PathVariable Integer id,
@PathVariable String name){
return id+name;
• }

4 利用jdbc把接受到的引數入庫

4.1 操作cgb2106的庫, 建立tb_student表(參考Student類)

CREATE TABLE tb_student(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(50),
age INT,
sex INT,
hobby VARCHAR(100),
edu INT,
intime DATE
)

4.2 修改pom.xml檔案,新增jdbc的jar包的座標

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cgb2106boot03</artifactId>
<groupId>cn.tedu</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>day14</artifactId>


<dependencies>
<!--新增jdbc的jar包依賴-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
</dependency>

</dependencies>

</project>

4.3 實現入庫 JDBC

//是C層,控制層,用來接受請求和給出響應
@RestController
@RequestMapping("stu")
public class StudentController {
@RequestMapping("add")
public Object add(Student s) throws Exception {
//TODO 利用jdbc,實現入庫
//註冊驅動
Class.forName("com.mysql.jdbc.Driver");
//獲取連線 (cgb2106庫名)
String url="jdbc:mysql:///cgb2106?characterEncoding=utf8";
Connection conn = DriverManager.getConnection(url,"root","root");
//獲取傳輸器
String sql = "insert into tb_student values(null,?,?,?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
//給SQL設定引數
ps.setObject(1,s.getName());
ps.setObject(2,s.getAge());
ps.setObject(3,s.getSex());

//s.getHobby()得到一個數組,不能直接存入資料庫,需要變成串入庫
ps.setObject(4, Arrays.toString( s.getHobby() ) ) ;
ps.setObject(5,s.getEdu());
ps.setObject(6,s.getIntime());
//執行SQL
ps.executeUpdate();//執行增刪改的SQL
System.out.println("資料插入成功!");
return s;
}

}