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 分钟前
B站登录流程全解析:RSA+极验验证
前端·python·极验
zhaoyong2223 分钟前
如何在 MySQL 中实现基于全字段唯一性的重复行计数更新
jvm·数据库·python
狼与自由4 分钟前
灰度发布的策略
java
X56614 分钟前
为什么宝塔面板网站无法正常连接外部远程数据库_检查服务器安全组放行端口并开启IP授权
jvm·数据库·python
woxihuan1234568 分钟前
C#怎么使用CancellationToken C#如何用取消令牌优雅地取消异步任务和长时间操作【进阶】
jvm·数据库·python
神仙别闹14 分钟前
基于QT(C++)实现线性表的建立、插入、删除、查找等基本操作
java·c++·qt
测试员周周15 分钟前
【AI测试功能5】AI功能测试的“黄金数据集“构建指南:从0到1搭建质量评估体系
运维·服务器·开发语言·人工智能·python·功能测试·集成测试
yexuhgu18 分钟前
MySQL主从复制支持跨版本吗_不同版本间同步的注意事项
jvm·数据库·python
好运的阿财21 分钟前
7天没有打开OpenClaw了
python·机器学习·ai·ai编程·openclaw
woxihuan12345624 分钟前
CSS怎样调整弹性项目排列顺序_使用order属性轻松控制DOM显示顺序
jvm·数据库·python