数据库对象

流,数据库

南笙酒味 提交于 2019-12-02 05:10:39
在传输对象时,由于对象的数据庞大,无法直接传输,所以,在传输之前,先将对象打散成字节序列,以利于传输,这个过程,称之为序列化过程. 在字节序列到达目的地之后,又需要将字节序列还原成对象,这个过程,称之为反序列过程. 不是任何对象都能打散成字节序列,在java中,所有需要实现对象序列化的对象,必须实现 java.io.Serializable 接口. 若果未实现序列化接口的对象进行传输,name会抛出java.io.NotserializableException的异常 transient修饰符用于修饰属性.表示在序列化传输对象时,该属性的值不做传输. 关系型数据库:关系数据库源于关系模型.关系模型认为,世界由实体和实体之间的联系组成. 关系型数据库是一种以表作为实体,以主键和外键关系做联系的一种数据库结构. 主键:在关系型数据库中,用一个唯一的标识符来标识每一行,这个标识符就是主键(Primary Key). 主键的连个特点:不可重复,不可为空. 外键:在关系型数据库中,外键(Forergn Key)是用来表达表盒表之间关联关系的列. 我们通常把一对多关系中,"多边"的表称之为从表,把"一边"的表称之为主表,从表利用外键,引用主表的主键.外键加载从表之中 关系型数据类型只是一个保存数据的容器,大多数数据库依靠一个称为数据库管理系统(Database Management

Django篇--->三

旧时模样 提交于 2019-12-02 02:54:31
Django篇---三 昨日内容回顾 小白必会三板斧 HttpResponse # 返回字符串 render # 返回html页面 并且可以给该html传值 redirect # 重定向 # 既可以是我们自己的路径也可以是网上的路径 django返回的都是HttpResponse对象 ​ 以登录功能为例 静态文件配置 用户能够在浏览器中输入网址访问到相应的资源 前提是后端暴露了该资源接口 在django中如果你想让用户访问到对应的资源,我们只需要 在urls.py中设置对应关系 反过来如果我没有在urls.py中开设资源 用户就永远就访问不到对应的资源 返回给浏览器的html页面上所有的静态资源 也需要请求后端加载获取 ​ 通常我们将网站所用到的html文件全部存放在templates文件夹下 网站用到的静态资源全部存放到static文件夹下 静态文件 网站自己写的 js css font 第三方的代码 bootstrap elementUi layui STATIC_URL = '/static/' # 是访问静态资源的接口前缀 """只要你想访问静态资源 你就必须以static开头""" # 手动配置静态文件访问资源 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), # os.path.join(BASE_DIR,

Ruby Rails学习中:

佐手、 提交于 2019-12-01 23:45:15
用户建模 一. User 模型 实现用户注册功能的第一步是,创建一个数据结构,用于存取用户的信息。 在 Rails 中,数据模型的默认数据结构叫模型(model,MVC 中的 M)。Rails 为解决数据持久化提供的默认解决方案是,使用数据库存储需要长期使用的数据。与数据库交互默认使用的是 ActiveRecord。Active Record 提供了一系列方法,无需使用关系数据库所用的结构化查询语言(Structured QueryLanguage,简称 SQL),就能创建、保存和查询数据对象。Rails 还支持迁移(migration)功能,允许我们使用纯 Ruby 代码定义数据结构,而不用学习 SQL 数据定义语言(Data Definition Language,简称 DDL)。最终的结果是,Active Record 把你和数据库完全隔开了。咱们开发的应用在本地使用 SQLite,部署后使用PostgreSQL。这就引出了一个更深层的话题——在不同的环境中,即便使用不同类型的数据库,我们也无需关心 Rails 是如何存储数据的。 1.数据库迁移 回顾一下前面的内容, 我们在自己创建的 User 类中为用户对象定义了 name 和 email 两个属性。那是个很有用的例子, 但没有实现持久化存储最关键的要求: 在 Rails 控制台中创建的用户对象, 退出控制台后就会消失

各种数据库对应的jar包、驱动类名和URL格式

邮差的信 提交于 2019-12-01 23:13:26
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一、准备工作(一):MySQL安装配置和基础学习 二、准备工作(二):下载数据库对应的jar包并导入 三、JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 (3)insert (4)update (5)select (6)delete 四、测试 五、代码分析 六、思考问题 前言:什么是JDBC   维基百科的简介:    Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。它JDBC是面向关系型数据库的。   简单地说,就是用于执行SQL语句的一类Java API,通过JDBC使得我们可以直接使用Java编程来对关系数据库进行操作。通过封装,可以使开发人员使用纯Java API完成SQL的执行。 一、准备工作(一):MySQL安装配置和基础学习   使用JDBC操作数据库之前,首先你需要有一个数据库。这里提供了3个链接供读者自学,如果曾有过SQL语言的使用经历(包括在学校中的课堂学习),前两个链接足以上手。   1.安装和配置: mysql安装图解 mysql图文安装教程(详细说明)   2

Hibernate4实战 之 第三部分:Hibernate的基本开发

邮差的信 提交于 2019-12-01 20:37:15
1:瞬时(Transient) - 由new操作符创建,且尚未与Hibernate Session 关联的对象被认定为瞬时的。瞬时对象不会被持久化到数据库中,也不会被赋予持久化标识(identifier)。 如果瞬时对象在程序中没有被引用,它会被垃圾回收器销毁。 使用Hibernate Session可以将其变为持久状态,Hibernate会自动执行必要的SQL语句。 2:持久(Persistent) - 持久的实例在数据库中有对应的记录,并拥有一个持久化标识。 持久的实例可能是刚被保存的,或刚被加载的,无论哪一种,按定义,它存在于相关联的Session作用范围内。 Hibernate会检测到处于持久状态的对象的任何改动,在当前操作单元执行完毕时将对象数据与数据库同步。开发者不需要手动执行UPDATE。将对象从持久状态变成瞬时状态同样也不需要手动执行DELETE语句。 3:脱管(Detached) - 与持久对象关联的Session被关闭后,对象就变为脱管的。 对脱管对象的引用依然有效,对象可继续被修改。脱管对象如果重新关联到某个新的Session上, 会再次转变为持久的,在脱管期间的改动将被持久化到数据库。 通过Session接口来操作Hibernate 新增——save方法、persist方法 1:persist() 使一个临时实例持久化。然而

Hibernate4实战 之 第三部分:Hibernate的基本开发

不问归期 提交于 2019-12-01 20:32:33
1:瞬时(Transient) - 由new操作符创建,且尚未与Hibernate Session 关联的对象被认定为瞬时的。瞬时对象不会被持久化到数据库中,也不会被赋予持久化标识(identifier)。 如果瞬时对象在程序中没有被引用,它会被垃圾回收器销毁。 使用Hibernate Session可以将其变为持久状态,Hibernate会自动执行必要的SQL语句。 2:持久(Persistent) - 持久的实例在数据库中有对应的记录,并拥有一个持久化标识。 持久的实例可能是刚被保存的,或刚被加载的,无论哪一种,按定义,它存在于相关联的Session作用范围内。 Hibernate会检测到处于持久状态的对象的任何改动,在当前操作单元执行完毕时将对象数据与数据库同步。开发者不需要手动执行UPDATE。将对象从持久状态变成瞬时状态同样也不需要手动执行DELETE语句。 3:脱管(Detached) - 与持久对象关联的Session被关闭后,对象就变为脱管的。 对脱管对象的引用依然有效,对象可继续被修改。脱管对象如果重新关联到某个新的Session上, 会再次转变为持久的,在脱管期间的改动将被持久化到数据库。 通过Session接口来操作Hibernate 新增——save方法、persist方法 1:persist() 使一个临时实例持久化。然而

十六:使用JDBC对数据库进行CRUD

人盡茶涼 提交于 2019-12-01 17:22:08
一、statement对象介绍     Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。   Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。   Statement.executeQuery方法用于向数据库发送查询语句,executeQuery方法返回代表查询结果的ResultSet对象。 1.1、CRUD操作-create   使用executeUpdate(String sql)方法完成数据添加操作,示例操作: 1 Statement st = conn.createStatement(); 2 String sql = "insert into user(….) values(…..) "; 3 int num = st.executeUpdate(sql); 4 if(num>0){ 5 System.out.println("插入成功!!!"); 6 } 1.2、CRUD操作-update   使用executeUpdate(String sql)方法完成数据修改操作,示例操作: 1 Statement st = conn

十五:JDBC学习入门

做~自己de王妃 提交于 2019-12-01 17:20:51
一、JDBC相关概念介绍 1.1、数据库驱动   这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道,如下所示:    1.2、JDBC介绍   SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC。这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加载具体的驱动,就可以操作数据库。 如下图所示:      JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成。   组成JDBC的2个包:    java.sql    javax.sql   开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)。 二、编写JDBC程序 2.1、搭建实验环境   1、在mysql中创建一个库,并创建user表和插入表的数据。   SQL脚本如下: create database jdbcStudy character set utf8 collate utf8_general_ci; use

sqlite3 数据库创建表

元气小坏坏 提交于 2019-12-01 16:31:10
# coding=utf-8"""1.导入模块sqlite32.创建连接 sqlite3.connect()3.创建游标对象4.编写创建表的sql语句5.执行sql6.关闭连接"""import sqlite3# 创建连接con = sqlite3.connect("E:/sqlite3Demo/demo.db")# 创建游标对象cur = con.cursor()# 创建sql语句sql = '''create table t_person( pno INTEGER primary key autoincrement , pname VARCHAR not null , age INTEGER )'''# 执行sql语句try: cur.execute(sql) print("创建表成功")except Exception as e: print(e) print("创建表失败")finally: # 关闭游标 cur.close() # 关闭连接 con.close()# 这个连接数据库并创建表的方法和传统的JDBC方式较为相似 很容易理解 来源: https://www.cnblogs.com/walxt/p/11693203.html

Django框架3——模型

为君一笑 提交于 2019-12-01 15:55:40
Django数据库层解决的问题 在本例的视图中,使用了pymysql 类库来连接 MySQL 数据库,取回一些记录,将它们提供给模板以显示一个网页: from django.shortcuts import render import pymysql def book_list(request): db = pymysql.connect(user='me', db='mydb', passwd='secret', host='localhost',charset='utf8') cursor = db.cursor() cursor.execute('SELECT name FROM books ORDER BY name') names = [row[0] for row in cursor.fetchall()] db.close() return render('book_list.html', {'names': names}) 这个方法可用,但很快一些问题将出现在你面前: 我们将数据库连接参数硬行编码于代码之中。 理想情况下,这些参数应当保存在 Django 配置中。 我们不得不重复同样的代码: 创建数据库连接、创建数据库游标、执行某个语句、然后关闭数据库。 理想 情况下,我们所需要应该只是指定所需的结果。 它把我们栓死在 MySQL 之上。 如果过段时间,我们要从