自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fightingXia的博客

舞动的是手指,敲出的是世界。

  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 Oracle(二)之视图的使用

##概述##什么是视图视图可以理解为一张虚拟表,它是由固定的sql查询语句操作真实表得到的一个临时表。视图中的数据就是查询sql语句的结果。得到视图之后,我们可以使用sql操作视图,但只能是查询操作。查询视图与查询真实表的sql语法完全相同。##视图的作用首先看下面一个sql语句:select count(1) from (select age from person gro...

2018-09-24 11:24:18 4137 3

原创 Oracle(一)之安装与使用

##概述oracle是关系型数据库中的一种,与MySql类似,也是一种数据库服务,oracle公司出品。比MySql安全可靠,但收费。oracle数据库无论在存储数据量,性能,执行效率,安全性,稳定性等各个方面都优于mysql,唯一的缺点就是收费,所以oracle数据库是很多大公司的首选。我们公司的门户网站使用的是oracle数据库,所以有幸可以实际操作oracle,但优于研究还不深,...

2018-09-24 09:33:05 998

原创 MySql(五)之sql优化

##概述作为一个高级程序员,不仅要熟练使用sql语句,更应该使用高效的sql语句。本篇blog讲解的内容主要包括:索引的使用。 执行计划分析。 sql优化常见案例分析。##索引一,什么是索引索引的作用只有一个,提高查找效率。如下面sql语句:select name from person where age = 16;在正常情况下,MySql是从第一条数依次...

2018-09-23 16:05:28 1578

原创 MySql(四)之项目实战

##概述MySql项目实战是结合实际开发工作,来说明数据库分析,数据库设计,数据库创建等一些列流程。这部分知识不属于严谨的技术,不同的人有不同的方法,如果你不认可你可以继续自己的方法。但是每个方法都不是绝对完美,都存在优缺点,希望与志同道合之士一起讨论学习。启动一个新项目,对数据库的操作一般按照下面几个步骤:项目功能和逻辑分析。 数据库表关系设计。 数据库表创建。 数据库表使用。...

2018-09-23 10:47:03 7707 1

原创 MySql(三)之多表查询

##概述本篇blog主要讲解多表查询,包括连接查询和子查询,连接又分为交叉连接,内连接,外连接,外连接又分为左外连接和右外连接。本篇blog主要以student表和score表为例说明多表查询的操作。student表结构如下:create table student ( id int(11) primary key auto_increment, name var...

2018-09-22 16:41:54 697

原创 MySql(二)之高级使用

##概述本节主要讲解的知识有:数据类型的使用。 主键,字段值唯一,不能为null等设置。 sql语句中的表达式。 排序。 分页 聚合函数。 分组。 sql注入及防止sql注入的方法。##数据类型的使用数据库中的数据类型很多,下面仅仅讲解项目中常用的数据类型。数据类型分为四大类:整数,小数,字符串,时间。一,整数整数类型及占用的字节数如下:数据类型 ...

2018-09-16 18:29:33 1056

原创 MySql(一)之使用入门

##概述对msyql的总结分为五部分,如下:1,MySql(一)之使用入门    包括:数据库的概念,mysql的安装,基本使用方式,创建库,创建表和基本增删改查sql语句的使用。2,MySql(二)之高级使用    包括:数据类型的使用详解,sql语句中的表达式,聚合函数,分页,排序,分组等操作。及对各种时间类型的总结。字段主键和唯一的设置,sql注入及防止sql注入的方法介...

2018-09-16 11:54:50 1092

原创 Java操作数据库方式(六)DataSource详解

##概述在java世界里操作数据库有很多方式,在众多方式中除了JDBC外都有DataSource对象。DataSource可以看作数据源,它封装了数据库参数,连接数据库,程序中操作DataSource对象即可对数据库进行增删改查操作。不同方式中使用的DataSource对象不同。列举如下:1,DBCP框架dbcp框架中的DataSource类是:org.apache.commo...

2018-09-09 10:40:24 49470 4

原创 MyBatis框架(六)之在SpringBoot中集成MyBatis项目实战

##概述目前java项目中使用SpringBoot和MyBatis组合是主流,且框架的前期配置大致相同,为了快速开启一个新项目,我整理了两个半成品项目放到了github上,与志同道合之士交流学习。1,SimpleSBMB简单集成SpringBoot和MyBatis框架。2,SBMB子父类工程,包括前台项目,后台管理项目,操作dao的base项目。##简单项目项目源码地址...

2018-09-09 09:50:03 502

原创 MyBatis框架(五)之在SpringBoot中集成MyBatis

##概述SpringBoot依然是java项目的主流,下面以实际项目为例说明在SpringBoot项目中使用MyBatis框架。##准备工作在使用JDBC连接数据库之前,首先要有数据库,数据库要创建表。我的数据库信息如下:数据库类型:MySql。 数据库名字:xia。 用户名:root。 密码:root. 创建数据库表student。create table stude...

2018-09-08 23:53:17 435

原创 MyBatis框架(四)之在Spring框架中集成MyBatis

##概述众所周知,目前的java项目几乎离不开Spring框架,而MyBatis又是操作dao层的优秀框架,所以非常有必要有必要学习在Spring框架中集成MyBatis。下面以一个web项目为例说明在Spring框架中集成MyBatis具体使用。##准备工作在使用JDBC连接数据库之前,首先要有数据库,数据库要创建表。我的数据库信息如下:数据库类型:MySql。 数据库名字...

2018-09-08 17:40:42 436

原创 MyBatis框架(三)之动态sql的使用

##概述MyBatis框架之所以优秀,一是因为将sql与代码分离,二就是具有强大的动态sql功能。主要的动态sql有:if标签的使用。 where标签的使用。 where标签与choose标签的联合使用。 set标签的使用。 foreach标签的使用。 trim标签的使用。一,if标签的使用使用示例如下: <select id="queryList" ...

2018-09-08 11:49:23 494 1

原创 MyBatis框架(二)之使用详解

##概述MyBatis是java项目持久层框架中比较优秀的一个,几乎满足项目中的一切需求。MyBatis的核心是Mapper文件,Mapper文件中接收java对象参数,写sql语句,返回Java对象结果,所以下面讲解的知识都是在Mapper文件中的操作。主要内容有:基本使用说明。 传递参数。 返回值。 insert时返回主键。 jdbcType属性的使用。 result...

2018-09-02 19:11:31 850

原创 MyBatis框架(一)之使用入门

在前段时间写了Java操作数据库方式系列的博客,包括:jdbc,dbcp,hibernate,Spring-data-jpa,这些知识都是平时学到的,几乎没有工作实战,所以写的都很浅显,以后有时间再深入研究。MyBatis框架也属于Java操作数据库的一种方式,这是我工作中一直用到的一种框架,所以对该框架了解比较多,计划写很多东西,所以此时把MyBatis框架作为一个单独的系列来写。这个系列包...

2018-09-02 17:17:19 353

原创 Java操作数据库方式五MyBatis使用入门

##概述##MyBatis是什么MyBatis是一个持久层框架,作用是在java项目中操作数据库。##MyBatis介绍MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目迁移到了google code,并且改名为MyBatis。  MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要...

2018-08-26 17:42:41 3293

原创 Java操作数据库方式四Spring data jpa的使用

##概述 在JPA和ORM介绍中说到,Spring data jpa框架属于JPA框架中的一种,是基于ORM思想实现的持久化框架.Spring data jpa属于spring家族,官方地址是:http://projects.spring.io/spring-data-jpa/我们做Java开发的都知道Spring的强大,到目前为止,企业级应用几乎都离不开spring。然而Spring...

2018-08-25 18:52:43 2554 1

原创 Java操作数据库方式三Hibernate的使用之注解的使用

##概述在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式。在hibernate4及以后的版本直接使用注解,如果使用hibernate3的版本就需要引入annotation的jar包。在前面的博客中创建student.hbm.xml文件和score.hbm.xml文件就是基于xml的方式。下面介绍注解的使用。##准备工作与以上...

2018-07-07 21:55:43 988

原创 Java操作数据库方式三Hibernate的使用之多表操作

##概述在开发中经常会遇到多表操作,Hibernate支持多表关联的操作。数据库表的关联关系分为三种:一对一,一对多,多对多,下面以“一对多”的栗子讲述Hibernate对多表的操作。##准备工作该博客继承上个博客,继续使用student表,再创建一个score表,student表与score是“一对多”的关系,即一个学生可以有多个分数。创建score表的sql语句如下:create table ...

2018-07-07 17:45:16 472

原创 Java操作数据库方式三Hibernate的使用之单表操作

##概述    在JPA和ORM介绍中说到,Hibernate框架输入JPA框架中的一种,是基于ORM思想实现的持久化框架。    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库...

2018-06-23 12:11:40 1697

原创 JPA和ORM介绍

##ORM介绍ORM的全称是:Object Relation Mapping,意思是:对象关系映射,用于在关系型数据库和业务实体对象之间作一个映射。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。说白了就是把关系型数据库封装成业务实体对象,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。ORM的出现是由于面向对象的大...

2018-06-18 12:02:13 4766 2

原创 Java操作数据库方式二DBCP使用详解

##概述DBCP的全称是:DataBase connection pool,翻译是:数据库连接池。在Java操作数据库方式一JDBC使用详解中说到直接使用JDBC非常消耗资源。为了避免频繁关闭链接数据库,所以出现了DBCP。DBCP的工作原理是:首先通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中取出,用完后再放回去,从而避免繁关闭链接数据库,减少资源的消...

2018-06-17 10:55:05 4507 1

原创 Java操作数据库方式一JDBC使用详解

##概述JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API。JDBC由sun公司开发,放在jdk中的sql包下和javax.sql包下。可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。##准备工作在使用JDBC连接数据库之前,首先要有数据库,数据库要创建表。我的数据库信息如下:a,数据库类型:...

2018-06-16 21:21:18 6146

原创 我的Java之路--Android转Java后台

作为一个资深Android程序猿,现正在Java的道路上砥砺前行。。。刚入职目前公司不久,领导宣布Android项目停止,全力投入到对公司主站的改造上,公司主站是Java项目,我也就开始了Java开发。说实在的,由Android转Java还是有一定难度的,虽然都是java语言,但编码思维完全不同。我之前学习过IOS,如果说Android转IOS的难度是1,那么Android转J...

2018-06-16 19:27:30 15338 12

原创 SuperEasyRefreshLayout的使用介绍

一,概述SuperEasyRefreshLayout是一个功能强大且易与使用的下拉刷新控件,参照Google提供的SwipeRefreshLayout的原理实现。源码见GitHub:SuperEasyRefreshLayoutSuperEasyRefreshLayout本质是一个容器,将可以滑动的View放入容器中即可实现下拉刷新和上拉加载更多的功能。支持的子view有:ListView,Recyc

2017-07-18 15:58:09 5162 6

原创 SwipeRefreshLayout源码分析

在上篇blog中我们发现使用SwipeRefreshLayout实现下拉刷新极其方便快捷,而且拉刷新控件与展示内容的控件实现了分离,非常便于代码的扩展与维护。但是其刷新UI确实很简单,很难入公司设计师的法眼,这时就需要我们修改刷新UI了。这篇blog从源码的角度分析SwipeRefreshLayout的实现原理,即为了学习SwipeRefreshLayout的实现思想,也可以实现自己想要的刷

2017-07-18 14:50:54 823

原创 SwipeRefreshLayout的使用详解

SwipeRefreshLayout意思为下拉刷新的布局,其继承ViewGroup,Google在android5.0中提供的下拉刷新控件,且提供了v4支持包。 这是一个容器布局,将listView或SCrollView放入这个容器布局中即可实现下拉刷新的效果。有效的将下拉刷新控件与展示内容的控件实现了分离。这种实现思想非常值得学习。

2017-07-18 14:15:10 18200 1

原创 自定义View(五)之继承ViewGroup

一,概述在android系统中可以把View分为两大类,一类是View,这类View本身具有展示UI的作用,比如TextView可以展示文本,ImageView可以展示图片,EditText可以编辑文字。另外一类是ViewGroup,即容器View,ViewGroup本质是容器,用来盛放View,并决定View的摆放位置,这类View如Linearlayout和RelativeLayout。当我们需

2017-05-23 23:55:48 824

原创 自定义View(四)之QuickIndex的实现

一,概述在APP中,只要有联系人,都肯定有通讯录页面,而且所有的通讯录以页面都很相似,一个列表,列表中的人员按字母排列,而且按字母分组显示,且右侧有快速索引。具体效果如下图: 右侧带字母的view就是快速索引条,点击字母就可以快速找到该字母对应的联系人。使用如此广泛的View,在android SDK中并没有提供,此时就需要自定义View实现。该View实用且简单,值得学习自定义View的小伙伴来

2017-05-21 09:58:19 547

原创 自定义View(三)之View类的onMeasure方法详解

onMeasure方法的作用是测量,测量view的宽高。一般情况下测量的宽高就是实际显示的宽高,但也有特殊情况,特殊情况在ViewGroup的onLayout方法中讲解,目前先认为测量的宽高就等于实际显示的宽高。下面先讲解onMeasure方法的基本用法,然后再分析onMeasure方法的源码。

2017-05-20 15:52:27 981

原创 自定义View(二)之Paint和Canvas详解

一,概述在Android中,所有的控件显示本质都是画出来的。所以在学习自定义控件时必须学习使用canvas和paint这个两个类。Paint是指画笔,Canvas是指画布或画板,android中View的绘制类似于美术专业学生的画画,使用带有一定属性的笔,在画板上画出想要的图案。

2017-05-20 13:56:07 639

原创 自定义View(一)之初识自定义View

我的自定义View的学习起源于CSDN,当时由于工作的需要开始在CSDN上搜索自定义view的blog查看,慢慢的可以实现了简单的自定义View的需求。随着时间的推移,自定义View的blog看的多了,也在工作中积累了相关经验,慢慢的自定义view的知识点掌握了很多,也做了很多笔记,大家都知道我早期总结的笔记都保存到本地。最近又看View相关的源码,又

2017-05-20 12:08:16 649

原创 UrlHttpUtils使用介绍

一,概述在上一篇blog的末尾讲到了httpURLconnection使用时的缺点,和对httpURLconnection封装的必要性。鄙人不才,对httpURLconnection封装了一个工具类,并分享到了github。这篇blog主要讲解鄙人封装的httpURLconnection的使用方法。源码比较简单,感兴趣的朋友可以自行下载查看。github的地址是:https://github.com

2017-05-13 10:15:31 2543

原创 HttpUrlConnection使用详解

一,HttpURLconnection的介绍在Android开发中网络请求是最常用的操作之一, Android SDK中对HTTP(超文本传输协议)也提供了很好的支持,这里包括两种接口: 1、标准Java接口(java.NET) —-HttpURLConnection,可以实现简单的基于URL请求、响应功能; 2、Apache接口(org.appache.http)—-HttpClient,使用

2017-05-13 09:33:57 71167 12

原创 OKHttp原码分析(八)之必须明白的几个问题

截止到上一篇blog,OKHttp的源码分析已结束,由于篇幅有限,个人能力不足,分析不够细致,也不够完美,希望小伙们多多指正。这篇blog以带着问题找答案的方式再次回顾下OKHttp的源码。首先提出以下几个问题:Okhttp的异步请求是怎么开启子线程的?异步请求时回调方法在哪被调用的?回调方法执行在哪个线程?Okhttp上传文件的原理。OKHttp下载文件的原理,是否支持断点续传?

2017-05-09 20:44:45 758

原创 OKHttp原码分析(七)之HttpStream

在上篇blog中,讲解了RealConnection类以及重要的方法。当RealConnection类只在httpStream类中被引用。httpStream类是对RealConnection类的封装。在ConnectInterceptor类中创建了httpStream对象。在CallServerInterceptor类中使用httpstream写请求头,写请求头,得到Response对象。

2017-05-07 14:07:43 1816

原创 OKHttp原码分析(六)之RealConnection

一,概述okhttp是底层实现框架,与httpURLconnection是同一级别的。OKHttp底层建立网络连接的关键就是RealConnection类。RealConnection类底层封装socket,是真正的创建连接者。分析这个类之后就明白了OKHttp与httpURLconnection的本质不同点。RealConnection是底层类,都是间接的被其他类调用,所以到目前为止还未发现使用这

2017-05-07 11:25:34 879

原创 OKHttp原码分析(五)之Interceptor

一,概述在上篇blog中可知:在RealCall的getResponseWithInterceptorChain方法中创建了许多不同类型的Interceptor对象。然后在RealInterceptorChain对象的proceed方法中有调用了Interceptor对象的intercept方法,最终返回Response对象。Interceptor称为拦截器,这是OKHttp中的一个机制,它的作用是

2017-05-06 14:04:51 606

原创 OKHttp原码分析(四)之getResponseWithInterceptorChain方法

一,概述在OKHttp原码分析(一)最后讲到无论是同步请求还是异步请求都殊途同归到了RealCall的getResponseWithInterceptorChain方法。这篇blog主要讲解RealCall的getResponseWithInterceptorChain方法。二,getResponseWithInterceptorChain方法源码 private Response getResp

2017-05-06 13:30:37 2360 2

原创 OKHttp源码分析(三)之ResponseBody

一,概述在使用OKHttp访问网络时,无论是同步请求还是异步请求,返回结果都是Response对象,所有的说句都封装在这个对象中。 这个对象常用的方法有:int code = response.code();//获取响应码String message = response.message();//获取响应消息ResponseBody body = response.body();//获取响应

2017-05-06 12:55:29 14917 1

原创 OKHttp源码分析(二)之RequestBody

一,概述在上篇blog中以get请求为例分析了OKHttp框架的表层源码,具体参见:OKHttp源码分析(一)在post请求中用到的API很大部分与get请求中用到的API相同,最大的不同就是Request.Builder类的post方法,这个方法的作用是设置post请求的请求体,接收的参数是RequestBody类及子类对象。Request.Builder类的post方法的源码是: publ

2017-05-01 12:30:38 11341 1

xiagetscore

这是一个压缩文件,主要是让朋友下载,朋友友情送C币,感激不尽。

2018-06-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除