数据库对象

day52_9_16Django中的静态文件和orm

北城余情 提交于 2019-12-10 05:29:33
一。静态文件配置   在配置静态文件时,需要创建一个文件夹在Django项目文件夹下,名字与使用无关。   静态文件包括html等使用的不会变动的插件文件等。分为三个部分:     css文件夹 当前网站所有的样式文件     js文件 当前网站所有的js文件     img文件 当前网站所有的图片文件     其他(前端框架代码)。   1.在静态文件的调用时,不能直接在html文件夹中使用相对路径或绝对路径进行调用,因为在页面访问的时后不会获取到该插件资源,所以需要将所有静态文件暴露给访客,使得访客可以获得。   在Django中可以使用以下代码进行资源暴露: STATIC_URL = '/static/' # 这个static不是文件夹的名字 而是接口前缀 """只要你想访问静态文件中的资源 文件路径就必须用static开头""" STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), # 真正的文件夹路径 os.path.join(BASE_DIR,'static1'), # 真正的文件夹路径 os.path.join(BASE_DIR,'static2'), # 真正的文件夹路径 os.path.join(BASE_DIR,'static3') # 真正的文件夹路径 ]  

Python数据库 API

浪尽此生 提交于 2019-12-10 01:21:51
1、SQL(结构化查询语言),是基于关系代数运算的一种数据查询语言,用于存取数据,查询、更新和管理关系型数据库系统。    SQL(Structure Query Language) 语言的内部再分类如下:      DDL: Data Difinition Language 数据定义语言,一般用来库和表头的创建和删除;      DML: Data Manipulation Language 数据操作语言,一般用来做表中数据的增加和删除;      DQL: Data Query Language 数据查询语言,用来在数据库中查询的语言;     DCL:Data Control Language 数据控制语言,一般是DBA才会用到的数据库用户管理及日常维护语言。 2、SQL数据库和NoSQL数据库   SQL数据库, 如:MySQL、Oracle、SQL Server、Sybase和DB2等。   非关系型数据库(NoSQL ) ,如:Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable, Riak,Tin, Flare, Lightcloud, KiokuDB,Scalaris, Kai, ThruDBd等 。 3、Python数据库API    DB-API

Oracle数据库常用数据字典

社会主义新天地 提交于 2019-12-09 12:57:18
Oracle数据字典的构成 Oracle数据字典名称由前缀和后缀组成,使用下划线连接。其代表的含义如下。 USER_:记录用户的对象信息。 ALL_:记录用户的对象信息及被授权访问的对象信息。 DBA_:包含数据库实例的所有对象信息。 V$_:当前的动态视图,包含系统管理和系统优化等所使用的视图。 GV_:分布式环境下所有实例的动态视图,包含系统管理和系统优化使用的视图,这里的GV表示Global v$。 初学者要了解的基本数据字典 与数据库组建相关的数据字典 来源: oschina 链接: https://my.oschina.net/u/866681/blog/213839

Mybatis常见面试题总结

半城伤御伤魂 提交于 2019-12-09 01:55:10
1、什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 (2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 (3)通过xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java对象和 statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。(从执行sql到返回result的过程)。 2、Mybaits的优点: (1)基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理;提供XML标签,支持编写动态SQL语句,并可重用。 (2)与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手动开关连接; (3)很好的与各种数据库兼容(因为MyBatis使用JDBC来连接数据库,所以只要JDBC支持的数据库MyBatis都支持)。 (4)

springMvc的理解

依然范特西╮ 提交于 2019-12-09 01:41:15
●springmvc 理解 SpringMvc是基于过滤器对servlet进行了封装的一个框架, 我们使用的时候就是在web.xml文件中配置DispatcherServlet类; SpringMvc工作时主要是通过DispatcherServlet管理接收到的请求并进行处理。 JavaEE体系结构包括四层,从上到下分别是应用层、Web层、业务层、持久层。Struts和SpringMVC是Web层的框架,Spring是业务层的框架,Hibernate和MyBatis是持久层的框架 https://blog.csdn.net/tianxiaxiaomage/article/details/78402366 ●Spring框架的核心:IOC(控制反转)、DI(依赖注入)、AOP(面向切面编程)。 https://blog.csdn.net/weixin_37539378/article/details/78937655 ●Servlet 生命周期: 加载、实例化—>初始化—>服务—>销毁。 ●Servlet 工作原理 1.Web Client 向Servlet容器(Tomcat)发出Http请求 2.Servlet容器接收Web Client的请求 3.Servlet容器创建一个HttpRequest对象,将Web Client请求的信息封装到这个对象中。 4

SqlCommand和SqlDataAdapter有什么区别

孤街醉人 提交于 2019-12-08 07:47:39
因为DataSet是离线的,所以SqlDataAdapter这个对象是连接DataSet和数据库的桥梁,所有对DataSet的操作(填充,更新等)都要通过他 ado.net数据访问有两种方式: 1.离线--通过DataSet,然后离线增,删,改,最后通过SqlDataAdapter解 析到数据库中 2.直接对数据库操作SqlCommand (Update,Insert,Delete) SqlCommand就是是命令了,可以用它来执行SQL命令 SqlDataAdapter就是数据适配器了,它是用于在数据源和 数据集 之间通讯的一组对象 SqlCommand对应DateReader SqlDataAdapter对应DataSet SqlCommand是C#中与Sql数据库打交道的对象,几乎所有的Sql数据库操作都需要使用该对象来实现,但其功能有限,只是简单的实现了与Sql数据库的接口而已; SqlDataAdapter是一个功能强大的SqL数据适配器,也用于操作Sql数据库,但它的操作都要通过SqlCommand来实现(有一个属性对象的类型就是SqlCommand),也就是说,可以把SqlDataAdapter看作是一个把一些特殊功能封装了、增强了的SqlCommand! SqlCommand与ADO时代的Command一样,SqlDataAdapter则是 ADO.NET

Hibernate使用笔记整理

非 Y 不嫁゛ 提交于 2019-12-08 05:28:43
A. Hibernate执行环境配置 用到的包 antlr-2.7.6.jar 解释hibernate的查询语言,叫hibernate query Language,叫hql语句的 commons-collections-3.1.jar 是一些集合,一些公共的集合,apache 的 公共包, 主要是支持hibernate缓存的,hibernate有各种缓存,一级缓存,二级缓存,查询缓存 dom4j-1.6.1.jar 解析xml文件的 hibernate3.jar 核心包 javassist-3.11.0.GA.jar 生成一些动态代理的包 jta-1.1.jar java事物管理,事物分布式管理 log4j-1.2.17.jar slf4j-api-1.5.8.jar jpos的日志接口,jpos是自己的产品,一般用的并不多,用的几乎都是log4j,为什么hibernate用它?可能是gemkey被jpos收编了之后,换本家了总得用点自己的东西,3.5以下需要 slf4j-log4j12-1.5.8.jar slf4j-api的实现类,没有实现完的 类路径下的log4j.properties log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out

实验五 Oracle 数据库对象

孤人 提交于 2019-12-07 22:28:17
接着前面实验写 1. 编写带有一个输入参数和一个输出参数的存储过程,输入参数为教师的编号类型,输 出参数与 tm 表的 workdays 类型一致,存储过程的功能是,根据输入参数教师编号的 值,计算出该教师为其参与的所有项目的工作总天数; create or replace procedure sumworkday(ftno char) as sum_workday number; begin select sum(workdays) into sum_workday from tm where tno=ftno; if sum_workday is null then dbms_output.put_line('不存在的'); rollback; return; end if; dbms_output.put_line(sum_workday); end sumworkday; / 2. 编写代码测试存储过程; exec sumworkday('t001'); exec sumworkday('t002'); exec sumworkday('t234'); 3. 编写一个函数,计算某个教师负责的经费总数; create or replace function sumfund (ftno varchar2) return number as sum_fund number;

SpringBoot2 结合BeetlSQL开发

十年热恋 提交于 2019-12-07 21:47:18
为什么是SpringBoot2:SpringBoot自从正式版发布以来,受到了众多的关注和追捧。在2.0出来之后,已经与1.X有了很多不同之处。当然也是为了追赶潮流,直接上了2.0作为本文基础框架,当然1.X的版本也是可以使用的。 为什么是BeetlSql:这是一个在国内还没有那么火的DAO工具,根据官网的说法:“ 它是一个超过MyBatis的全功能Java DAO工具,同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用。”。本人抱着试一试的想法用此框架进行Demo开发,感觉不错。并且已经用于公司的实战中。该框架与MyBatis以及Hibernate的 网上可以搜索到,本人就不赘述。 在SpringBoot已经出到2.0正式版之后,利用SpringBoot的特点,结合BeetlSQL的优势,可以快速的搭建一个实战级别的项目架构。 话不说多,我们开始吧! 首先开始照常,先搭建一个SpringBoot2的框架。可以新建一个maven project。在pom.xml中引入 2.0.X, 不管X是几,只要是正式版都行。 引入spring-boot-starter-web。排除tomcat是为了打war包放入外部tomcat的时候少生成内嵌tomcat的包或者用其他内嵌容器

Java并发编程:synchronized

寵の児 提交于 2019-12-07 21:37:44
原文出处: 海子 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。 以下是本文的目录大纲: 一.什么时候会出现线程安全问题? 二.如何解决线程安全问题? 三.synchronized同步方法或者同步块 若有不正之处,请多多谅解并欢迎批评指正。 一.什么时候会出现线程安全问题? 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的的资源:一个变量、一个对象、一个文件、一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题: 由于每个线程执行的过程是不可控的,所以很可能导致最终的结果与实际上的愿望相违背或者直接导致程序出错。 举个简单的例子: 现在有两个线程分别从网络上读取数据,然后插入一张数据库表中,要求不能插入重复的数据。 那么必然在插入数据的过程中存在两个操作: 1)检查数据库中是否存在该条数据; 2)如果存在,则不插入;如果不存在,则插入到数据库中。 假如两个线程分别用thread-1和thread-2表示,某一时刻,thread-1和thread-2都读取到了数据X,那么可能会发生这种情况: thread