![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 62
绝世好阿狸
这个作者很懒,什么都没留下…
展开
-
”check the manual that corresponds to your MySQL server version for the right syntax to use“解决
今天使用hibernate3来反向建表,突然报了一个如下的错误:log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.Hibernate: insert into user原创 2016-01-07 13:50:56 · 6553 阅读 · 0 评论 -
【数据库】4种 NoSQL数据库
NoSQL数据库总共有4种大的类别,但是更高层次可以分为两个类别。1.面向聚合1.1键值数据库,比如说redis,是基于哈希表实现的,一般用作缓存系统。这种数据库会把每一个记录绑定一个key,如果基于key来操作数据库,效率十分快,但是如果基于内容取查询,那么就必须全表扫描,效率很低。所以键值数据库一般用于做缓存,内容会与一个id相关连,比如session,购物车这种的。1.2文档原创 2017-10-01 23:10:59 · 645 阅读 · 0 评论 -
【数据库】NoSQL崛起原因
关系型数据库的优点是:(1)稳定,技术成熟(2)很好的事务支持,控制并发;但是它也有一些缺点:(1)基于关系模型,与程序面向对象思想不符;(2)只支持简单数据,集合没有,需要进行关联查询;(3)不适合集群,原本关系型数据库就是设计给单机用的,所以早期对集群比如分片这样的技术并不支持,后来陆陆续续提供了支持,但是效果不是特别好。其实第三点应该是NoSQL崛起的原因,NoS原创 2017-10-01 22:01:21 · 1034 阅读 · 0 评论 -
【数据库】隔离级别
先介绍下并发环境下事务执行可能发生的错误:1.写覆盖:一个事务执行时,最后需要写回数据A,在这期间,另一个事务读取了未写回的数据项A,然后也更新了A。那么最后A只可能为两个事务更新的值中的一个,另一个更新就丢失了。更新一个未提交的值,会覆盖别人的更新。2.脏读:读取了未提交的值,与写覆盖比较容易混淆,脏读指的是,一个事务中有一个写操作修改了值,但是这个事务还有后续的操作,没有提交,然后另一原创 2017-06-01 20:16:07 · 322 阅读 · 0 评论 -
【数据库】缓存 数据库 redis mc 好文
http://blog.csdn.net/xlgen157387/article/details/60761232http://blog.csdn.net/u014743697/article/details/53442512http://blog.csdn.net/jinfeiteng2008/article/details/53711752转载 2017-08-16 12:45:16 · 288 阅读 · 0 评论 -
【mysql】innodb myisam
区别主要有:(1)count(*)执行,只要不加where,myisam有一个行数的统计数据,直接返回,innodb是逐行计算;(2)全文索引,之前只有myisam支持,现在全支持(3)场景,innodb适用于多并发写入的场景,而myisam适用于读取多的场景,因为myisam的锁是全表锁,效率低,且没有事务支持。但是读取效率高,因为myisam的索引和数据是分开存放的,而且是压...原创 2017-08-08 12:00:25 · 196 阅读 · 0 评论 -
【数据库】MVCC 和 乐观锁
最近在看mysql的引擎类型,说到innodb时看到了mvcc,了解了一下。MVCC全称是Multi-version concurrency control,多版本控制。什么意思?说白了是解决数据库读-写冲突的方法。数据库不免要支持事务,事务ACID的特性中的I,即隔离性就可以通过MVCC实现,就是说多个事务读取数据时,需要隔离,只能读到某一些值,比如已经提交的值,这就是保证事务隔离级别的方法原创 2017-08-08 11:39:16 · 1949 阅读 · 0 评论 -
【数据库】序列化
如果不同事务之间不允许并发,那么事务的执行结果肯定没有问题,是可以接受的。但是,实际上为了执行的效率,数据库系统在设计的时候必然需要支持并行,否则效率很低。事务一旦并发,就会引来各种问题,比如脏读或者更新丢失之类的。因此事务和事务之间需要一定程度的隔离或者互斥。隔离的越严格并发效果越差。最严格的隔离效果称为是序列化。序列化指的是多个事务并发的执行结果与顺序执行的结果一致。这样的结果肯定符合我们原创 2017-06-01 17:23:49 · 5395 阅读 · 0 评论 -
【数据库】基于日志系统的恢复机制
对于需要持久化数据的软件或者系统,必须要解决的问题是如何处理意外中断导致的数据丢失问题。比如一个交易系统,用户正在购买商品,突然断电了,那么如何恢复用户的账户信息?该不该扣款?商家的商品到底有没有卖出?这一些列的问题需要数据库恢复机制解决。而恢复机制需要借助日志系统才能展开。日志记录了系统中发生的各个事务。基本的思路就是,把事务提交至数据库的同时,也在日志文件中记录一下。那么应该先提交事务,还原创 2017-06-01 16:58:01 · 4473 阅读 · 0 评论 -
MySql 安装
先去官网下载Mysql解压版网址:http://dev.mysql.com/downloads/mysql然后选择一个文件夹解压。建立一个自己的my.ini,这个文件是txt格式的,是mysql的配置文件。其中的datadir是mysql的数据目录(basedir后面加\data),basedir是mysql的安装目录,这两个要正确填写。原创 2015-12-30 14:01:52 · 276 阅读 · 0 评论 -
【sql server】解决 com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '@P0'.
今天使用spring template写了一条sql server的分页语句:String sql = "SELECT TOP ? * FROM [user] WHERE id NOT IN (SELECT TOP ? id FROM [user] )";报错信息如下:com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect原创 2016-05-16 13:27:52 · 14383 阅读 · 2 评论 -
【SSH (九)】Eclipse使用hibernate插件反向生成实体类和映射文件
一般dao层的开发是这样的,先进行数据库的设计,什么E-R图之类的那些,然后选择一款数据库产品,建好表。最后反向生成java实体和映射文件,这样可以保证一致性和便捷性。如果用myeclipse,逆向比较容易,用eclipse就必须用插件,但是myeclipse收费,有些商业产品必须注意版权问题。下面说一下怎么用eclipse生成实体类和配置文件。1,下载hibernate的插件原创 2016-03-15 16:18:21 · 16110 阅读 · 5 评论 -
【MongoDB】MongoDB windows安装
1,下载https://www.mongodb.org/2,选择一个比较容易访问的目录作为mongodb的安装目录,比如D:\mongo,把文件拷贝进来3,创建mongodb的数据目录,就在D:\mongo下新建data/db目录,名字是定死的。4,启动,cmd输入如下命令:打开浏览器,访问:http://localhost:27017/原创 2016-03-15 18:04:28 · 384 阅读 · 0 评论