【数据持久】
杨小嘿
这个作者很懒,什么都没留下…
展开
-
EF增删改查的优化
在EF的上一篇博客中已经对它的增删改查有了一个简单的了解,其中的修改过程是先要把要修改的内容查出来然后再进行修改、保存。它具体的过程是这样的 首先当在执行查询语句的时候“EF数据上下文”会先访问数据库进行查询,然后将结果以对象的方式返回到“EF数据上下文中”,EF数据上下文相当于是一个容器,在对象进入到容器中的时候在对象的外侧会再进行包装如上图所示,这样返回的对象会以“EF包装原创 2015-07-29 16:54:04 · 1113 阅读 · 20 评论 -
【Mybatis】——配置文件学习
开篇在《mybatis初步了解》中有一张架构图,其中提到两种配置文件:一中为全局配置文件,一中为映射文件(mapper.xml),全局配置文件是针对mybatis的配置,映射文件中配置的sql语句。在架构图的两次分别提到了输入映射和输出映射,这篇博客主要来学习一下输入、输出映射和映射文件的关系。正文全局配置文件简单学习为了方便下面的学习,需要先介绍几个全局配置文件中的配置。原创 2017-03-31 11:11:32 · 549 阅读 · 15 评论 -
【Mybatis】——动态sql
开篇mybatis的核心是对sql的灵活操作,所以在mapper.xml中对sql的动态拼接是必不可少的功能。正文sql拼接实例优化上图中相同的sql拼接代码可能会被其他的statement使用,为了将这些相同的代码进行抽取,mybatis中使用了sql片段的概念。 sql片段sql片段的定义<!-- 定义sql片段id:sql片段的唯 一标识原创 2017-04-15 14:22:41 · 492 阅读 · 10 评论 -
【Mybatis】——mybatis缓存
开篇mybatis缓存特点和hibernate缓存特点是及其相像,本篇博客通过实践简单的了解一下mybatis的一级二级缓存。 一级特点:一级缓存默认开启生命周期同sqlsessionsqlsession间缓存不共享 sqlsession关闭或执行sqlsession.commit()时一级缓存清空二级概念说明:和hibernate不同,mybati原创 2017-04-15 14:27:38 · 528 阅读 · 13 评论 -
【Mybatis】——逆向工程
是什么使用mybatis开发,需要将大量的精力放在sql语句的编写上,mybatis官方提供了逆向工程可以针对单个表自动生成基本增删改查的代码。常用的逆向工程的方式是由数据库表生成java代码。怎么用一、下载逆向工程源码 二、修改配置文件0、数据库连接的信息1、pojo类的生成位置2、mapper映射文件生成位置3、mapper接口生成位置4、指定数据库表原创 2017-04-23 21:03:52 · 543 阅读 · 11 评论 -
【redis】——集群搭建
本篇博客只是自己实践过程中的一个记录1 redis-cluster架构图架构细节: (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. (2)节点的fail是通过集群中超过半数的节点检测失效时才生效. (3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接原创 2017-02-21 08:22:38 · 529 阅读 · 12 评论 -
【redis】——初识
1 开篇是什么 Redis一种数据库。相比我们熟知的mysql,sqlserver,redis是noSQL类型的数据库,也就是说redis是非结构化的数据,数据在其中是以key-value的形式存储的,所以在redis中没有表和字段的概念。 value类型: string、list(队列或栈)、set、zset(有序集合原创 2017-01-06 14:04:23 · 522 阅读 · 15 评论 -
【MySQL】——主从模式及复制
mysql的主从模式 1、 从服务器同步主服务器的数据,可以执行查询操作,分担主服务器的压力 2、 主服务器出现问题,可以快速切换到从服务器提供服务 3、 备份可以在从服务器上执行,避免对主服务器造成影响 主从复制的原理 流程: master将变化记录到二进制日志binarylog简称为bin log原创 2017-07-09 21:01:59 · 620 阅读 · 0 评论 -
Oracle系列问题解决
使用oracle开发DRP项目,一次意外强制关机导致oracle登录出了问题,以下作为经验 记录原创 2016-07-24 22:33:12 · 572 阅读 · 12 评论 -
【Mybatis】——Dao层开发
开篇dao层是直接和数据库打交道的,我们所熟悉的是面向接口编程即编写接口然后编写不同的实现类。正文传统实例pojo类:user:public class User { //属性名和数据库表的字段对应private int id;private String username;// 用户姓名private String sex;// 性别p原创 2017-03-31 08:13:42 · 703 阅读 · 15 评论 -
【redis】——高级应用(2)
开篇 本篇博客继续对redis高级应用进行学习,分别为事务和发布订阅消息。正文 一、事务 Redis的事务相对不是很完善,下面通过实例来看一下redis事务的问题在哪? 操作: multi:开启事务原创 2017-01-11 19:23:14 · 484 阅读 · 16 评论 -
【redis】——高级应用(1)
开篇 上篇博客中已经了解到redis的高级应用主要有6个方面,本篇博客简单的介绍一下比较简单的集合高级应用包括:安全性、主从复制、虚拟内存。正文一、安全性 说明:所谓的安全性就是权限的设置,设置客户端连接后进行任何其他操作前需要使用密码。 配置:只需要修改redis.conf配置文件中的#requirepass foobared就原创 2017-01-07 19:17:41 · 719 阅读 · 12 评论 -
EF的CRUD
已经知道EF就是一个可以使得编程人员用面向对象的思想操作数据库的框架,那么在最初学习SQL的时候我们就知道对数据库的操作就是增删改查,万变不离其宗。EF也是操作数据库的当然也就是要对数据库实现增删改查(称为CRUD)而ADO.net、EF都是一种方式,还有就是Linq也可以不适用SQL语句就实现对数据库的CRUD。现在我们主要学习的就是EntityFrameWork到底是怎么进行的。在VS中使原创 2015-07-20 15:19:06 · 2192 阅读 · 14 评论 -
初步了解EF
EF:EntityFrameWork,是一种框架(所谓的框架可以理解为直接的使用别人已经写好的代码),而且这种框架是一种ORM框架(Object/Relation Mapping)。 首先说一下现阶段我自己是如何理解EF的,EF是利用面向对象的思想对数据库进行操作,它可以将数据库中的表生成一个实体对象,而表中的字段就对应的生成实体的属性,这样在程序中操作数据库是就可以直接利用面原创 2015-07-13 16:04:00 · 1205 阅读 · 10 评论 -
mongodb初识
第一次听说MongoDB是在参加考试维护的时候,但是用MongoDB解决的是英语听力的问题,当时不懂为什么要用这个种数据库存英语的听力,简单的了解了一下之后也只知道这是一种非关系型的数据库。现在11期的我们开始接手.Net版的ITOO,而自己负责的是出卷这一部分,系统中有一个需求是直接导入一套写好的Word试卷,这一部分交给郑浩负责。这一部分是个难点,没有参照没有明确的方向,而郑浩的第一反应就是把一阵套的Word试卷导入到MongoDB中,从浩哥这里了解到MongoDB是以流的形式进行读写。自己负责的在原创 2016-01-17 20:55:42 · 692 阅读 · 19 评论 -
SQL注入
在做VB版机房收费系统的时候就了解到了SQL注入,那个时候再网上查了一些资料,感觉很高大上也没有弄得很懂,这次再看到SQL注入,弄清楚了它的来龙去脉。 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。——百度百科 看到这么一堆的解释还是没有很懂,下面来看一个例子。原创 2015-02-04 16:07:08 · 2411 阅读 · 14 评论 -
SQL中的存储过程
机房收费系统的重构中使用了三层,将对数据库的操作放到了D层中,面向对象的思想对D层进行了进一步的抽象抽象出来SQLHlper,但还是避免不了像机房收费系统中类似“注册”这样的功能要同时向多张数据表中增加记录。在机房收费系统中实现“注册”功能时,要同时向卡表、学生信息表、充值记录表三张表增加记录,就算是通过外观层将B层的这三个增加记录的方法组合调用,我们也不能保证在增加记录的过程中不出错,导致在卡表原创 2015-01-10 21:23:32 · 1427 阅读 · 15 评论 -
Mongo中上传下载图片
在ITOO中教师使用在线编辑的方法出卷,有一个需求是可以针对某一个题配上相应的图片,所以要做一个上传图片的功能。在ITOO中图片很音频都是直接存储在MongoDB中的,为了实现这个功能自己先做了一个小Demo,实现上传和下载图片的功能。 在开始看Demo前先来了解一个Mongo中的GridFS,它是用于存储和恢复那些超过16M的文件可以是图片、音频、视频。Grid原创 2016-02-05 12:09:23 · 1972 阅读 · 15 评论 -
MySQL的安装
最近开始学习SSH网上商城,刚对SSH框架有一些了解之后又新接触了MySQL数据库,最近对各种数据库密集的接触。MySQL是一个小巧玲珑但功能强大的数据库,MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。这个数据库在还有没有开始使用安装阶段就遇到了问题,现在将暗中步骤和遇到的问题记录下来。原创 2016-01-30 17:02:25 · 1603 阅读 · 28 评论 -
【redis】——jedis简单了解和使用
使用Jedis提供的Java API对Redis进行操作,是Redis官方推崇的方式;并且使用Jedis提供的对Redis的支持是最为灵活全面的; 首先需要在项目中添加对jedis的jar包。在使用时单机版和集群版有区别,分别看一下在项目中的使用。单机版 创建单实例jedis对象连接redis服务// 单实例连接redis @Test p原创 2017-02-04 08:51:44 · 1340 阅读 · 13 评论 -
【Mybatis】——基础
是什么? 和hibernate一样,mybatis是一个持久层的框架。不同点是mybatis封装的是sql语句,而hibernate封装的比较彻底,面向对象操作,sql自动生成。如果项目需求变化小可以使用hibernate,如果需求变化比较多可以选择mybatis。 mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵原创 2017-03-19 19:32:02 · 543 阅读 · 11 评论