目录
[二、最基础 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,只是写法更短、文件更少。任何一个场景,都先写出能跑的最小版本,再慢慢拆层、加配置、加日志。