数据库文件

Struts2+Spring3+Hibernate——整合byMaven

大憨熊 提交于 2019-11-29 19:39:22
在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框架来开发项目,而这些框架一般不是单独使用的,经常是Struts2+Spring3+Hibernate、SpringMVC+Spring+Hibernate、SpringMVC+Spring+Mybatis这几种组合中的一种,也就是多个框架配合起来使用。今天来总结一下如何使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境。 一、建立Maven工程 第一步:    第二步:    第三步:      创建好的项目如下图所示:    第四步:      注意:这里的JDK要选择默认的,这样别人在使用的时候,如何JDk不一致的话也不会出错,如下图所示:    第五步:   创建Maven标准目录      src/main/java     src/main/resources     src/test/java     src/test/resources    第六步:   发布项目:Maven install   清除编译过的项目:Maven clean      Maven install命令执行结果如下:      OK,Maven工程创建成功! 二、搭建Spring3开发环境 2

Android 应用之安全开发

前提是你 提交于 2019-11-29 19:11:04
原文链接:https://www.jianshu.com/p/3b22859b2677 大佬:“这个 APP 破解下,可以兼容客户已出货的产品” 我:“这个不合适吧” 大佬:“这个客户对我们很重要” 我:“好吧” 然后,就是通过反编译某 APP ,分析蓝牙交互协议,在新的 APP 中去兼容已出货的设备,达到无缝对接。 –这种场景在开发中还是比较经常碰到的。 一、引言 随着移动互联网向社会生活的各个领域渗透,APP 的使用越来越广泛。但 Android 系统由于其开源的属性,市场上针对开源代码定制的 ROM 参差不齐(特别中国区域),在系统层面的安全防范和易损性都不一样,Android 应用市场对 APP 的审核相对 iOS 来说也比较宽泛,市场上一些主流的 APP 虽然多少都做了一些安全防范,但由于大部分 APP 不涉及资金安全,所以对安全的重视程度不够;而且由于安全是门系统学科,绝大部分 APP 层的开发人员缺乏对 APP 安全意识及措施,导致被有心者有机可乘。 Android 开发是当前最火的话题之一,但很少开发者会讨论这个领域的安全问题,除了专业从业者,但移动应用安全隐患也给发展带来了挑战。 开发团队通常将精力集中在产品设计、功能实现、用户体验和系统效率等方面,而很少考虑安全问题; 与一切都是集中管理的 iOS 相比,Android 提供了一种开放的环境,在获得了灵活性

MySQL federated引擎 --- 实现类似oracle dblink功能

别说谁变了你拦得住时间么 提交于 2019-11-29 18:23:31
1.查看是否安装了federated引擎 show engines; 2.开启federated引擎 windows下在my.ini中加入federated,即可开启; linux中,需要编译时加入选项,再在my.ini中加入federated,方可开启. 3.建立远程数据表链接 举例说明: A(192.168.0.233:3306)、B(192.168.0.233:3307)、C(192.168.0.233:3308)、D(192.168.0.234:3306) 在A、B、C、D四个数据库分别创建库testfed; 在B、C上建立授权用户, mysql> grant all privileges on testfed . t_test to test@'%' identified by 'test'; (或者 grant select on testfed .t_test to test@ '192.85.1.113' identified by 'test' ; ) flush privileges; 在B上,创建 mysql> create table t_testB (id int not null auto_increment primary key, c_str char(20) not null) engine innodb; Query OK, 0 rows

mysql数据库优化概述详解

十年热恋 提交于 2019-11-29 18:05:09
mysql查询的过程图 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集群、负载均衡、读写分离 SQL语句的优化(收效甚微) 一、字段设计阶段 选取最适用的字段属性 1. 字段的宽度设得尽可能小 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。 2. 尽量把字段设置为NOTNULL 在可能的情况下,应该尽量把字段设置为NOTNULL,这样在将来执行查询的时候,数据库不用去比较NULL值。 3. 确定数据定义为ENUM类型 对于某些文本字段,例如“省份”或者“性别”,我们可以将它们定义为ENUM类型。因为在MySQL中,ENUM类型被当作数值型数据来处理,而数值型数据被处理起来的速度要比文本类型快得多。这样,我们又可以提高数据库的性能。 4. 单表字段不宜过多,可以预留字段 满足业务需求的前提下二三是个字段就是极限了,可以预留字段便于扩展。 遵循数据表的设计规范 1. 第一范式(1NF) 字段值具有原子性

redis笔记

╄→гoц情女王★ 提交于 2019-11-29 16:43:31
Redis面试题 一、缓存雪崩 1.1什么是缓存雪崩? 首先为什么要使用缓存(Redis): 优点: 提高性能:缓存查询速度比数据库查询速度快(内存vs硬盘) 提高并发能力:缓存分担了部分请求。支持更高的并发 Now 如果缓存宕机了,就意味着所有的请求就都要跑去数据库了。 Redis不可能把所有的数据都缓存起来(内存昂贵且有限);所以Redis需要对数据设置过期时间,并采取采用的是惰性删除+定期删除两种策略对过期键删除。 如果缓存数据设置的时间是相同的,并且Redis恰好将在这部分数据全部删光了。这就导致了这段时间内,这些缓存同时失效,全部请求到数据库中。 这就是缓存雪崩: Redis挂掉了,请求全部走数据库。 对缓存数据设置相同的过期时间,导致某时间内缓存失效,请求全部数据库走数据。 1.2如何解决缓存雪崩 解决方法: 在缓存的时候给过期时间加上一个随机值,这样就会大幅的减少缓存在同一时间过期。 思路: 事发前:实现Redis高可用(主从架构+sentinel或者Redis Cluster),尽量避免Redis失效这种情况。 事发中:万一Redis失效了,我们可以设置本地缓存(ehcache)+限流(hystrix),尽量避免我们的数据库失效。 事发后:Redis持久化,重启后自动回复缓存数据。 二、缓存穿透 2.1什么是缓存穿透? 我们有一张数据库表,ID都是从1开始的(正数)

Oracle字符集的查看和修改

雨燕双飞 提交于 2019-11-29 16:42:25
一、什么是 Oracle 字符集   Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来 存储 ,处理,检索数据。它使 数据库 工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。   影响Oracle数据库字符集最重要的参数是NLS_LANG参数。   它的格式如下: NLS_LANG = language_territory.charset   它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。   其中:   Language: 指定 服务器 消息的语言, 影响提示信息是中文还是英文   Territory: 指定服务器的日期和数字格式,   Charset: 指定字符集。   如:AMERICAN _ AMERICA. ZHS16GBK   从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。   所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。   二。字符集的相关知识:   2.1 字符集   实质就是按照一定的字符编码 方案 ,对一组特定的符号,分别赋予不同数值编码的集合。Oracle数据库最早支持的编码方案是US7ASCII。  

Oracle 字符集的查看和修改

一笑奈何 提交于 2019-11-29 16:42:14
一、什么是 Oracle 字符集 Oracle 字符集是一个字节数据的解释的符号集合 , 有大小之分 , 有相互的包容关系。 ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使 数据库 工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。 影响 Oracle 数据库字符集 最重要的参数是 NLS_LANG 参数。 它的 格式 如下 : NLS_LANG = language_territory.charset 它有三个 组成部分 ( 语言、地域和字符集 ) ,每个成分控制了 NLS 子集的特性。 其中 : Language : 指定服务器消息的语言, 影响提示信息是中文还是英文 Territory : 指定服务器的日期和数字格式, Charset : 指定字符集。 如 :AMERICAN _ AMERICA. ZHS16GBK 从 NLS_LANG 的组成我们可以看出, 真正影响数据库字符集的其实是第三部分 。 所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据, 前面影响的只是提示信息是中文还是英文 。 二.字符集的相关知识: 2.1 字符集 实质就是按照一定的字符编码方案,对一组特定的符号,分别赋予不同数值编码的集合。 Oracle 数据库最早支持的编码方案是 US7ASCII 。 Oracle

rman report list crosscheck delete -rman常用命令

邮差的信 提交于 2019-11-29 16:38:13
一、 REPORT 1、报告目标 数据库的物理结构 RMAN>REPORT SCHEMA 2、报告需要备份的数据文件 在执行备份之前,常常需要取得需要备份的数据文件信息,通过执行REPORT NEED BACKUP 命令,可以列出需要备份的数据文件。当使用REPORT NEED BACKUP命令时,可以带有INCREMENTAL、DAYS、REDUNDANCY、RECOVERY WINDOW四个选项。 (1)报告需要转储的增量备份超出特定个数的数据文件 当恢复数据文件时,需要转储数据文件备份,然后应用归档日志执行恢复。如果备份数据文件采用了增量备份和累积备份策略,那么在转储数据文件时依次转储 0、1、2..级别的增量备份,转储的数据文件备份越多,恢复时间越长,下面以报告恢复数据文件需要转储的增量备份个数超过3次的数据文件为例: RMAN>REPORT NEED BACKUP INCREMENTAL 3 其中file用于标识数据文件的编号,Incrementals用于标识需要转储的备份文件个数,Name用于标识数据文件的名称,如果某个文件出现转储的次数大于3次, 应该在该数据文件上执行完全备份或增量0级备份。 (2)报告特定天数未备份的数据文件 当恢复数据文件时,在转储了所需的数据文件备份之后,会应用从备份点开始的所有归档日志。需要应用的归档日志越多,恢复时间越长,为了减少恢复时间

python操作MongoDB

瘦欲@ 提交于 2019-11-29 16:29:48
文章目录 前言 MongoDB客户端类 连接管理 集合管理 索引管理 增删改查 文件操作 聚合操作 前言 曾经有一段时间,大约是2014年和2015年,在所有的项目里面,但凡需要数据库的场合,我们无一例外地选择了MongoDB。在此之前,我们更多的是使用Oracle数据库。尽管Oracle已经做得非常棒了,但面对来自全球各地空间天气观测台站和世界各国卫星数据的时候,仍然显得捉襟见肘,疲于应付。不是Oracle不够优秀,是数据太过繁杂,仅仅依赖二维关系模型已经无法高效地处理数据了。 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。MongoDB号称是最像关系型数据库的非关系型数据库,在一些简单的项目里面,我们也用它来存储一些结构化的数据。总结使用感受,我觉得MongoDB 就像一个个性鲜明的优秀青年,有能力,也有脾气,优点和缺点一样突出。要用好MongoDB,首先要弄清楚你是否真的需要NoSQL数据库。 MongoDB的优点: 无模式(太过随意,有时反倒是缺点) 支持对象存储 支持Map/reduce和聚合操作 扩展方便 可靠性高 MongoDB的缺点不多,但很要命,这就是被很多人诟病的“内存贪婪”:它会占用操作系统几乎所有的空闲内存,让其他进程活得不舒适,而我们一直对该机制缺乏了解,也没有相应的应对手段。 MongoDB客户端类

postgres csv日志和查看用户权限

喜欢而已 提交于 2019-11-29 15:34:50
postgres csv日志和查看用户权限 最近在使用postgres 时遇到的2个问题,顺便记录一下查到的比较好的资料。 怀疑postgres在执行SQL时报错,程序日志中有无明确异常信息。通过查看csv日志来确定是否SQL真的是执行时报错。 下面转自: https://www.cnblogs.com/kuang17/p/6902122.html?utm_source=itdadao&utm_medium=referral   日志审计   审计是值记录用户的登陆退出以及登陆后在数据库里的行为操作,可以根据安全等级不一样设置不一样级别的审计,   此处涉及的参数文件有:   logging_collector --是否开启日志收集开关,默认off,开启要重启DB   log_destination --日志记录类型,默认是stderr,只记录错误输出   log_directory --日志路径,默认是$PGDATA/pg_log, 这个目录最好不要和数据文件的目录放在一起, 目录需要给启动postgres的操作系统用户写权限.   log_filename --日志名称,默认是postgresql-%Y-%m-%d_%H%M%S.log   log_file_mode --日志文件类型,默认为0600   log_truncate_on_rotation --默认为off