- 博客(57)
- 资源 (14)
- 收藏
- 关注
原创 【Git】简单使用方法
第1步:mkdir test第2步:cd test第3步:git init第4步:在test文件夹中创建一个文件readme.txt,输入“Hello world”第5步:git add readme.txt第6步:git commit -m "add hello world to readme.txt"第7步:要关联一个远程库,使用命令git re
2017-04-28 23:14:36 293
原创 jdbc是啥?为什么使用jdbc?jdbc的原理是什么?
答:【1】jdbc是一个商标名字,英文名称是java database connectivity【2】jdbc是一个开放的api,是统一链接数据库的工具,可以链接excel、Oracle、MySQL等关系数据库,倘若不适用jdbc,我们要保存内容到记事本中,这时候,打开记事本,写入内容、关闭记事本的过程都是不安全的。jdbc提供了高标准的api接口。【3】jdbc的主要工作原理分为以下
2018-01-24 15:50:55 4726 1
原创 【Mybatis升级版-04】包装类型pojo参数绑定
需求:商品查询controller方法中实现商品查询条件传入。实现方法:[1]在形参中,添加httpServletRequest request参数,通过request接收查询条件参数。【不推荐】[2]在形参中让包装类型的pojo接收查询条件参数。分析:页面传参数的特点:复杂、多样性。条件包括:用户账号,商品编号,订单信息……如果将用户账号、商品编号、订单信息等放在
2017-09-13 20:13:36 678
原创 【Mybatis升级版-03】Controller方法的返回值
Controller的方法返回值,主要有以下三种:【1】返回ModelAndView 需要方法结束时,定义ModelAndView,将model和view分别进行设置。 【2】返回string 如果controller方法返回string, 2.1 表示返回逻辑视图名。 真正视图(jsp路径)=前缀+逻辑视图名+后
2017-09-06 21:45:40 593
原创 【Mybatis升级版-02】mybatis与Spring整合service及controller
在【01】章中介绍了mybatis与Spring整合之后的开发流程,Spring与mybatis整合,本质上是Spring将各层进行整合,(Spring管理持久层的mapper、Spring管理业务层service、Spring管理表现层的handler)。本章将介绍Spring与service及controller进行整合的操作流程思路简单如下:1.使用配置方式(后期会使用注解方式,显示配置
2017-08-25 20:59:31 602 1
原创 【Mybatis升级版-01】mybatis与Spring整合dao
之前的章节,主要介绍了mybatis框架的执行过程、开方dao的方法、sqlMapConfig.xml文件配置、输入/输出映射、高级映射、动态SQL及逆向工程等,其中有一些知识,还没补全,后期会慢慢更新。 在【015】中也提及mybatis和Spring整合开发dao的过程,那只是一个简单的入门,本章的dao开发将更加全面的剖析整个运作流程。 mybatis升级版--mybat
2017-08-24 21:57:22 462
原创 【Mybatis从0到1-016】Spring与MyBatis整合mapper开发DAO(推荐使用)
在之前的文章中已经提及开发dao的方式,当初是单纯的mybatis开发,分为原始开发方式和基于mapper代理的方式,与Spring整合之后的开发同样是这两种方式,原始的开发方式需要程序员书写dao接口和实现类,而且会存在很多问题,比如【005】提到的。本章主要介绍使用mapper代理进行dao的开发。【1】早在mapper文件下新建UserMapper.java接口文件。关键代码:
2017-08-24 14:11:42 380
原创 【Mybatis从0到1-015】Spring与MyBatis整合原始开发DAO(不推荐使用)
mybatis与Spring整合之后,开发dao的原始方法,不推荐使用,这里仅与之前mybatis独自开发时做简单的对比。【005-mybatis独自使用开发dao】整合思路需要spring通过单例方式管理SqlSessionFactory。(人工)spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(spring和mybati
2017-08-22 20:26:48 335
原创 【Mybatis从0到1-014】查询缓存
mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。mybaits提供一级缓存,和二级缓存。
2017-08-22 15:45:37 253
原创 【Mybatis从0到1-013】延迟加载
什么是延迟加载resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。延迟加载:先从单表查询、需要时再从关联表
2017-08-22 15:43:51 257
原创 【Mybatis从0到1-012】多对多查询(resultMap)
Demo:查询用户及用户购买商品信息。sql语句查询主表是:用户表关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表是orders、orderdetail和items。SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id ord
2017-08-22 11:26:37 335
原创 【Mybatis从0到1-011】一对多查询(resultMap)
Demo需求:查询订单关联查询用户及订单明细。SQL语句:确定主查询表:订单表确定关联查询表:订单明细表在一对一查询基础上添加订单明细表关联即可。SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail
2017-08-21 21:39:39 347
原创 【Mybatis从0到1-010】一对一查询(resultType和resultMap)
参考代码【下载】本章主要实现一对一查询订单信息,关联查询创建订单的用户信息。【1】resultType1.1 SQL语句确定查询的主表:订单表(orders)确定查询的关联表:用户表(user)关联查询使用内链接?还是外链接?由于orders表中有一个外键(user_id),通过外键关联查询用户表只能查询出一条记录,可以使用内链接(此处使用隐式内连接)。SELECT
2017-08-21 18:59:23 467
原创 【Mybatis从0到1-009】订单商品模型数据分析
对于整个mybatis学习过程中所使用的数据库,早在【开篇】 中就有提及数据库的建立,主要数据表如下:四个数据表,分别是用户表:user,订单表:orders,订单明细表:orderdetail,商品表:items。本章主要对订单商品的数据模型进行分析,这将会是后续内容的基础。【1】数据模型分析思路1、每张表记录的数据内容 分模块对每张表记录的内容进
2017-08-21 16:07:20 422
原创 【Mybatis从0到1-008】MyBatis之映射文件(输入映射、输出映射)
在上一章中,介绍了mybatis的配置文件,在本章中,我们将介绍mybatis的映射文件,MyBatis之所以强大,真正原因在于它的映射语句。 这里主要介绍输入映射和输出映射。【1】输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型。这里以传递pojo的包装对象为例,还是通过用户表的查询来完成。需求:完成用户信
2017-08-19 18:31:37 557
原创 【Mybatis从0到1-007】深入MyBatis的配置文件
根据前面学过的内容,可知,mybatis的持久化离不开sqlsessionfactory对象,这个对象是整个数据库映射关系经过编译后的内存镜像,该对象的openSession()方法可以打开SqlSession对象。该对象由SqlSessionFactoryBuilder加载mybatis的配置文件产生。再来回顾下之前的代码:// mybatis配置文件String resource =
2017-08-19 14:14:45 458
原创 【Mybatis从0到1-006】mybatis开发DAO之基于mapper代理
在上一章中,介绍了mybatis开发dao的原始方法,并总结了,原始开发方式的问题,本章,将介绍基于mapper代理的方式开发dao。 与传统开发方式相比,mapper代理开发,程序员需要书写mapper接口(相当于dao接口),除此外,程序员还需要编写mapper.xml映射文件,编写mapper接口需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象。开
2017-08-19 11:15:58 411
原创 【Mybatis从0到1-005】mybatis开发DAO之原始开发方法
在【004】中,细心的同学可能会发现,在增删改查几个函数中,存在大量的重复的代码,如下这段代码。 // mybatis配置文件 String resource = "SqlMapConfig.xml"; // 得到配置文件流 InputStream inputStream = Resources.getResourceAsStream(resourc
2017-08-17 21:39:28 408
原创 【Mybatis从0到1-004】模糊查询、更新、删除、添加用户
【Mybatis从0到1-003】mybatis框架及简单入门程序是解决本章内容的关键,本章节主要是实现模糊查询、更新、删除、添加用户。实现步骤与之前一章完全一样,这里再傻瓜式的走一遍流程,加深记忆与理解。只需要两步,第一,修改映射文件User.xml;第二,书写程序逻辑代码。【1】首先,实现模糊查询用户信息。【1-1】修改映射文件,加入如下代码:<!-- 根据用户名称模糊查询用户
2017-08-17 20:12:44 549
原创 【Mybatis从0到1-003】mybatis框架及简单入门程序
mybatis是持久层的框架,是Apache下的顶级项目。2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)
2017-08-17 19:19:40 533
原创 【Mybatis从0到1-002】使用 jdbc 开发的前期准备
本次开发的数据库为MySQL5.7.14。【1】首先创建一个数据库,name为mybatis,之后创建数据表。执行代码文件为mybatis.sql,下载地址为:表结构如下所示:【2】通过idea创建基于maven管理的java工程,工程名字为mybatis_Demo。创建成功后,结构如下所示:【3】配置pom.xml文件,加入以下代码:
2017-08-17 16:52:00 373
原创 【Mybatis从0到1-001】开篇
mybatis是支持普通SQL查询、存储过程和高级映射的优秀的持久层框架。主要思想是:将程序中的大量的SQL语句剥离出来,配置在配置文件中,以实现SQL的灵活配置。好处就是,将SQL与程序代码分离,做到可以在不修改程序代码的情况下,直接在配置文件中修改SQL。【Mybatis-从0到1】系列主要分为两大篇。第一篇:主要介绍单纯的mybatis的应用第二篇:介绍mybatis与Sprin
2017-08-17 16:23:16 517
原创 【SpringMVC-005】idea创建SpringMVC项目傻瓜教程-简单注册登录
在【004】blog中,简单介绍了REST的一些大概,下面将通过一个简单的例子来深化巩固吧。项目还是基于之前【001】中建立的结构。【1】首先创建一个User类,路径为src/com/test/model/User.java。结构图如下所示:
2017-08-14 10:15:48 6514 10
原创 【SpringMVC-004】idea创建SpringMVC项目傻瓜教程-REST简介
在【003】blog中,我们讲到了传值,方式在URL中通过?username=**的方式,dispatcher进行拦截,加上Controller和View的映射关系,传递的参数显示在显示屏上的,但是细心点就会发现,我们平常所浏览的网站,很少有把ID之类的参数直接在URL上展示,而是通过另外一种方式。比如,豆瓣网站。输入URL:https://movie.douban.com/subject/2
2017-08-10 13:39:57 885
原创 【SpringMVC-003】idea创建SpringMVC项目傻瓜教程-URL传值
本篇文章内容非常简单,主要说下传值问题。之前两个blog都是最最基本的操作过程,本篇以及以后的所有博客都是基于前面的项目框架进行修改的,有不是很清楚的的,可以参考之前的内容。【SpringMVC-001】idea创建SpringMVC项目傻瓜教程【SpringMVC-002】idea创建SpringMVC项目傻瓜教程-升级版(注解版)下面的图片是【002】blog中TestCo
2017-08-10 10:23:12 1344
原创 【SpringMVC-002】idea创建SpringMVC项目傻瓜教程-升级版(注解版)
上个教程中,其实我们创建的项目存在明显的问题,不知道大家是否还记得我的操作过程,忘记的伙伴可以重新查看下教程【SpringMVC-001】idea创建SpringMVC项目傻瓜教程【SpringMVC-001】中,我们的controller是这么写的:public class WelcomeController implements Controller { @Override
2017-08-09 22:03:48 1688 2
原创 【SpringMVC-001】idea创建SpringMVC项目傻瓜教程
最近在学习spring的相关知识,顺便记下笔记,与大家共享。spring运行流程如下图所示:【流程】user发送request,DispatcherServlet(等同于Controller控制器),控制器接收到请求,来到HandlerMapping(在配置文件中配置),HandlerMapping会对URL进行解析,并判断当前URL该交给哪个controller来处理,找到对
2017-08-09 21:13:58 19396 19
原创 【PHP】面试经历总结之——新浪微博
这已是第二次来到北京中关村软件园来面试了,第一次是在5月中旬,面试的公司有:人人车、金山云、融360、百度视频(后面会一一讲述面试经历及题目),这一次面试的公司有:百度(金融)、新浪、百度(百度嗨),下面先从新浪说起吧。时间:2017年6月26日上午10点半地点:新浪总部大厦面试职位:PHP实习生面试轮数:2轮面试形式:笔试+面试官1+面试官2面试主管是一个年轻的女技术
2017-06-27 17:27:39 3634
转载 【计算机网络-网络协议】
阅读目录1. 网络层次划分2. OSI七层网络模型3. IP地址4. 子网掩码及网络划分5. ARP/RARP协议6. 路由选择协议7. TCP/IP协议8. UDP协议 9. DNS协议10. NAT协议11. DHCP协议12. HTTP协议13. 一个举例 计算机网络学习的核心内容就是网络协议的学习。网络协
2017-05-13 22:42:07 417
转载 【Nosql-redis】Linux下php安装Redis扩展
1、下载下载地址:http://pecl.php.net/package/redis文件名:phpredis-2.2.4.tar.gz文件下载成功后,上传至/usr/local 2、安装[root@vm15 local]# tar -zxvf phpredis-2.2.4.tar.gz #解压
2017-05-12 10:56:51 294
转载 【数据结构--经典算法】PHP实现各种经典算法
//-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low $mid = intval(($low+$high)/2 );
2017-05-10 18:48:08 968
转载 【数据结构-堆排序】堆排序 Heap Sort
堆排序是一种选择排序,其时间复杂度为O(nlogn)。堆的定义 n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系之一时,称之为堆。 情形1:ki 2i 且ki 2i+1 (最小化堆或小顶堆) 情形2:ki >= k2i 且ki >= k2i+1 (最大化堆或大顶堆) 其中i=1,2,…,n/2向下取整;
2017-05-05 15:47:40 452
转载 【PHP-排序算法】快速排序、堆排序算法时间复杂度比较
介绍在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前10或前100个数,同时要保证内存和速度的效率,我们可能第一个想法就是利用排序,然后截取前10或前100,而排序对于量不是特别大的时候没有任何问题,但只要量特别大是根本不可能完成这个任务的,比如在一个数组或者文本文件里有几亿个数,这样是根本无法全部读入内存的,所以利用排序解决这个
2017-05-05 15:38:38 3001
原创 【Nosql-安装教程】Linux环境下安装和部署Redis步骤
Linux环境下安装和部署Redis步骤如下:1. 下载安装包cd /var/lamp/wget http://download.redis.io/releases/redis-3.2.8.tar.gz2.编译源程序tar xzf redis-3.2.8.tar.gzcd redis-3.2.8makecd src && make install3.移
2017-05-03 19:50:43 870
原创 【MySQL-数据备份】
数据备份,超级简单的操作命令:1.win+r,输入cmd 2.提前看好要保存的数据库的名字,之后执行下面的命令mysqldump -u root -p database_name > D:/data/databasename_20170501.sql两步就搞定当然也可以备份某一数据库中的某个表:mysqldump -u root -p database_name table_nam
2017-05-01 11:03:46 290
原创 【MySQL-手记】数据表的修改(添加/删除数据表,添加/删除约束)
【添加/删除数据表】----------------------------------------------------------------------------------------------------------------------------------------------------------ALTER TABLE users ADD age TINYIN
2017-04-30 12:57:56 462
原创 【MySQL-性能优化4】SQL语句的优化
通过慢查日志可以分析哪些SQL语句比较好使,分析过程中,pt-query-digest 工具要比mysqldumpslow更全面、好用。下面重点说一下如何通过查询来分析SQL语句的执行情况。-**1.通过explain查询和分析SQL**实际操作的例子如下,count()和max()函数的优化如查询最后的支付时间——优化max()函数select
2017-04-28 13:03:45 570
原创 【PHP-socket框架】MeepoPS轻松构建在线实时聊天, 即时游戏, 视频流媒体播放
MeepoPS是Meepo PHP Socket的缩写. 旨在提供高效稳定的由纯PHP开发的多进程SocketService.MeepoPS可以轻松构建在线实时聊天, 即时游戏, 视频流媒体播放, RPC, 实时监控, 以及原本使用HTTP的接口/定时任务的场景中等. 在下个版本, MeepoPS的HTTP协议在简单场景下是可以替代Apache/Nginx的.当前版本为V0.0.5,官方下
2017-04-26 13:18:51 2304
【Mybatis从0到1-001】系列项目源代码【1-8章】
2017-08-19
Apache绑定本地域名wampserver
2017-04-21
C#简单串口调试助手傻瓜教程
2016-11-30
CC3200SDK-1.2.0软件开发工具包1.2.0
2016-06-15
《PHP+MySQL+Dreamweaver动态网站建设从入门到精通》
2016-05-31
Web开发的平民英雄----PHP+MySQL
2016-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人