Java 数据库访问 vs Python 数据库访问:JDBC vs ORM

目录

一、这篇文章怎么用

[二、最基础 JDBC vs Python sqlite3](#二、最基础 JDBC vs Python sqlite3)

[三、ORM 对照(Java JPA vs Python SQLAlchemy)](#三、ORM 对照(Java JPA vs Python SQLAlchemy))

四、事务处理

五、常见坑

结语

补充说明


一、这篇文章怎么用

Java 用 JDBC/ORM,Python 用 DB-API/ORM。本文给出最直白对照。

二、最基础 JDBC vs Python sqlite3

// Java

Connection conn = DriverManager.getConnection(url);

PreparedStatement ps = conn.prepareStatement("select * from user");

ResultSet rs = ps.executeQuery();

// Python

import sqlite3

conn = sqlite3.connect('test.db')

cur = conn.cursor()

cur.execute('select * from user')

rows = cur.fetchall()

三、ORM 对照(Java JPA vs Python SQLAlchemy)

// Java JPA

@Entity

class User { @Id Long id; String name; }

// Python SQLAlchemy

class User(Base):

tablename = 'user'

id = Column(Integer, primary_key=True)

name = Column(String)

四、事务处理

// Java

conn.setAutoCommit(false);

// Python

conn.commit() # 手动提交

五、常见坑

  • 忘记关闭连接
  • SQL 注入风险

结语

Java 的数据库思路和 Python 一样:连接、执行、提交、关闭。

补充说明

这里继续用更直白的说法:如果你会 Java,就把"做法"和"习惯"平移到 Python,只是写法更短、文件更少。任何一个场景,都先写出能跑的最小版本,再慢慢拆层、加配置、加日志。

相关推荐
顺风尿一寸3 小时前
从 Java NIO poll 到 Linux 内核 poll:一次系统调用的完整旅程
java
Flittly3 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(3)TodoWrite (待办写入)
python·agent
程途知微3 小时前
JVM运行时数据区各区域作用与溢出原理
java
随风飘的云3 小时前
MySQL的慢查询优化解决思路
数据库
华仔啊5 小时前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
IvorySQL7 小时前
PostgreSQL 技术日报 (3月7日)|生态更新与内核性能讨论
数据库·postgresql·开源
千寻girling7 小时前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
xiaoye20187 小时前
Lettuce连接模型、命令执行、Pipeline 浅析
java
赵渝强老师7 小时前
【赵渝强老师】金仓数据库的数据文件
数据库·国产数据库·kingbase·金仓数据库
databook11 小时前
探索视觉的边界:用 Manim 重现有趣的知觉错觉
python·动效