首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android 手機訪問電腦 MySQL 數據庫的兩種架構方案:直連 JDBC 與 Web Service 中間層

     編輯:程式設計疑難解答

方案一:直連 JDBC(僅限內網/學習)


// 依賴:mysql-connector-java
String url = "jdbc:mysql://192.168.1.100:3306/dbname?useSSL=false";
Connection conn = DriverManager.getConnection(url, "user", "pwd");
// 直接執行 SQL

缺點:暴露數據庫端口/賬號、移動網絡不穩定導致連接斷開、無法應用端邏輯校驗、APK 反編譯洩露憑證。

方案二:Web Service 中間層(生產標準)


// 服務端
@RestController
@RequestMapping("/api/student")
public class StudentController {
    @Autowired StudentService service;
    @GetMapping("/list") public List list() { return service.list(); }
    @PostMapping("/add") public Result add(@RequestBody StudentDTO dto) { return service.add(dto); }
}

// Android 端
Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://192.168.1.100:8080/")
    .addConverterFactory(GsonConverterFactory.create())
    .build();
StudentApi api = retrofit.create(StudentApi.class);
api.list().enqueue(new Callback>() { ... });

對比

維度直連 JDBCWeb Service
安全性極低高(認證授權、加密、審計)
穩定性差(長連接易斷)高(短連接、重試、熔斷)
業務邏輯前端繁重後端集中
部署無需額外服務需部署 Spring Boot/Node.js 等

建議

**生產項目務必採用 Web Service 方案**,Android 僅作為表現層調用 REST/gRPC 接口。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved