当前位置:首页 » 编程语言 » ormlite执行sql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

ormlite执行sql

发布时间: 2023-07-20 18:14:23

‘壹’ 有谁能通俗点的给我讲解下ORM是什么吗网上查的一大把专业理论名词。看了一头雾水。有谁能通俗点将吗

我用c#的说法给你解释一下:

在ORM出现之前,.NET语言对数据库操作都是使用ADO.NET

就是手动打开关闭sqlConnection ,然后手动拼接SQL语句,如:

select*fromstudent;

直接使用SQL语句虽然能带来极大的性能体验,但是也会有很多问题:

  1. SQL语句的错误不好检查(因为SQL语句全是字符串,无法做语法检查)

  2. 接收到的数据全是弱类型,如果你想要使用基本都要做类型转换


ORM就是用本地的model代替数据库里面的各种表,你直接通过操作dbContext就可以获得数据库中的数据,然后它还使用一些技术把ADO.NET中一些麻烦的事给解决了

在EF中使用LINQ来编写数据库操作语法,ORM会自己将LINQ语句翻译为对应的SQL语句,然后将返回的数据自动做类型转换生成对应的model,就像这样:

varstudentList=dbContext.Student.ToList();

使用ORM后既有语法检查,又省略了很多以前繁琐的操作,可以让开发人员将更多的注意力集中到业务的处理上,提高他们的效率

同时一些好的ORM还会有缓存处理、合并执行SQL等其它功能;它绝对是现代中小型系统的开发必备

‘贰’ 不用orm,直接用sql,好吗

没啥不好的,orm的底层也都是sql,orm的目的是将数据对象化,利用面向对象的特点完成数据操作

‘叁’ ORM是否必要

ORM可以防止注入作为附加功能,SQL也可以带来反注入机制。ORM的主要作用是将数据库域的对象映射到面向对象的域中,因为开发人员更熟悉它们。


开发人员在开发时更倾向于用对象的方式思考

通过ORM,抽象被构造并输入到应用程序代码中,这样就可以在代码中直接实现许多必要的约束,这有助于正确性。

‘肆’ 在python上怎么使用sql

第一种办法:

#导入SQLite驱动:
>>>importsqlite3
#连接到SQLite数据库
#数据库文件是test.db
#如果文件不存在,会自动在当前目录创建:
>>>conn=sqlite3.connect('test.db')
#创建一个Cursor:
>>>cursor=conn.cursor()
#执行一条SQL语句,创建user表:
>>>cursor.execute('createtableuser(idvarchar(20)primarykey,namevarchar(20))')
<sqlite3.Cursorobjectat0x10f8aa260>
#继续执行一条SQL语句,插入一条记录:
>>>cursor.execute('insertintouser(id,name)values('1','Michael')')
<sqlite3.Cursorobjectat0x10f8aa260>
#通过rowcount获得插入的行数:
>>>cursor.rowcount
1
#关闭Cursor:
>>>cursor.close()
#提交事务:
>>>conn.commit()
#关闭Connection:
>>>conn.close()

第二种办法:

使用 SQLalchemy 等ORM 的库。