- 博客(36)
- 资源 (47)
- 收藏
- 关注
原创 【MyBatis框架】查询缓存-一级缓存原理
查询缓存1.什么是查询缓存mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。mybaits提供一级缓存,和二级缓存。缓存模式图如图一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相
2015-06-30 16:52:34 2396
原创 【MyBatis框架】高级映射-延迟加载
延迟加载1.什么是延迟加载resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。延迟加载:先从单表查询、
2015-06-30 15:18:43 5825 3
原创 【MyBatis框架】配置文件-resultMap总结
resultMap总结resultType:作用:将查询结果按照sql列名pojo属性名一致性映射到pojo中。场合:常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用resultType将每一条记录映射到pojo中,在前端页面遍历list(list中是pojo)即可。resultMap:使用association和co
2015-06-30 15:13:00 2137
原创 【MyBatis框架】高级映射-多对多查询
多对多查询1.需求查询用户及用户购买商品信息。2.sql语句查询主表是:用户表关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表:orders、orderdetail、itemsSELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id
2015-06-26 09:32:25 5656
原创 【MyBatis框架】高级映射-一对多查询
前面学习了一对一的查询,现在我们在刚才的数据模型基础上进行一对多的查询。一对多查询1.需求查询订单及订单明细的信息。2.sql语句确定主查询表:订单表确定关联查询表:订单明细表在一对一查询基础上添加订单明细表关联即可。SELECT orders.*, USER.username, USER.sex, USER.address, or
2015-06-26 09:28:29 2000 3
原创 【设计模式】策略模式Strategy_03
接着上一篇总结继续探讨。我们之前用自己的方式来实现了JDK的Comparable和Comparator接口,我们下面来看看实际当中JDK给我们的Comparable和Comparator接口。我们对之前的Dog和Dog的比较类DogWeightComparator的实现进行修改:Dog.java:package cn.edu.hpu.Strategy;public clas
2015-06-25 11:44:08 1090
原创 【设计模式】策略模式Strategy_02
接着上一篇总结继续探讨。之前我们的DataSorter的Sort方法虽然可以对任何实现了Comparable接口的对象进行排序,不过,麻烦事在于,这些对象实现的comparaTo方法只有一种实现,只能写一种,不能写太多,而且将来我想任意的扩展怎么计算两个对象谁大谁小的规范,这个时候这个类该如何设计呢?现在我们对其进行实现。大家想想看,我们想对两个对象比较大小的方式进行拓展,这个方式就不
2015-06-25 11:41:16 966
原创 【设计模式】策略模式Strategy_01
下面我们来探讨一下设计模式里面的策略模式Strategy首先我们在Eclipse里面创建一个名为Strategy的工程我们在里面先写一个排序的测试类package cn.edu.hpu.Strategy;public class Test { public static void main(String[] args) { int[] a={9,5,3,7,1};
2015-06-25 11:28:40 1071
原创 【MyBatis框架】高级映射-一对一查询
一对一查询根据上面我们分析的订单商品数据模型(链接:12.订单商品数据模型-分析思路.txt),我们来写一下有关一对一的查询,分别使用了resultType和resultMap指定输出参数类型1.一对一查询使用resultType指定输出参数类型1.1需求查询订单信息,关联查询创建订单的用户信息1.2resultType1.2.1sql语句确定查询的
2015-06-23 09:50:54 1920 5
原创 【MyBatis框架】订单商品数据模型-分析思路
我们接下来要对即将用来实验的订单商品数据模型进行分析。首先在MySql中创建mybatis数据库,在其中创建以下表:CREATE TABLE `items` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL COMMENT '商品名称', `price` float(10,1) NOT N
2015-06-23 09:43:22 3047 4
原创 【MyBatis框架】mapper配置文件-foreach标签
foreach标签下面介绍一下一个mapper配置文件中的foreach标签(注意,要跟着前面的总结来看,这里使用的例子是结合前面的工程写的,大部分代码没有再赘述)foreach的作用是向sql传递数组或List,mybatis使用foreach解析1.1需求在用户查询列表和查询总数的statement中增加多个id输入查询。sql语句如下:两种方法:S
2015-06-21 12:28:26 15202 3
原创 【MyBatis框架】mapper配置文件-关于动态sql
动态sql1.什么是动态sqlmybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。2.需求用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使用动态sql。对查询条件进行判断,如果输入参数不为空才进行查询条件拼接。3.mapper.xml原查询语句配置: <!-- 用户信息综合
2015-06-21 12:23:03 6529 1
原创 【Android开发】多媒体应用开发-使用VideoView播放视频
在Android中,提供了VideoView组件用于播放视频文件。想要使用VideoView组件播放视频,首先需要在布局文件中创建该组件,然后在Activity中获取该组件,并应用其setVideoPath()方法或setVideoURI()方法加载要播放的视频,最后调用start()方法来播放视频。另外,VideoView组件还提供了stop()和pause()方法,用于停止或暂停视频的播放。
2015-06-18 18:30:24 8036
原创 【Android开发】多媒体应用开发-使用SoundPool播放音频
由于MediaPlayer占用资源较多,且不支持同时播放多个音频,所以Android还提供了另一个播放音频的类-----SoundPool。SoundPool即音频池,可以同时播放多个短小的音频,而且占用的资源较少。SoundPool适合在应用程序中播放按键音或消息提示音等,在游戏中播放密集而短暂的声音,如多个飞机爆炸的声音等。使用SoundPool播放音频,首先需要创建SoundPool对象,然
2015-06-18 18:27:06 1562
原创 【Android开发】多媒体应用开发-使用MediaPlayer播放音频
Android提供了对常用音频和视频格式的支持,它所支持的音频格式有MP3(.mp3)、3GPP(.3gp)、Ogg(.ogg)和WAVE(.ave)等,支持的视频格式有3GPP(.3gp)和MPEG-4(.mp4)等。通过AndroidAPI提供的相关方法,在Android中可以实现音频与视频的播放。下面介绍使用MediaPlayer播放音频在Android中,提供了MediaPla
2015-06-15 23:16:03 5485
原创 【Android开发】网络编程及Internet应用-获取天气预报
在Eclipse中创建Android项目,利用之前学过的WebView控件和中国天气网提供的天气数据接口,实现获取指定城市的天气预报。布局文件:res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sc
2015-06-15 23:10:26 3715
原创 【Mybatis框架】输出映射-resultType与resultMap
输出映射接下来说说有关Mapper.xml配置文件中查询标签中关于返回值类型resultType与resultMap的一些内容1.resultType使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象。只要查询出来的列名和pojo中的属性有一个一致,就会
2015-06-15 23:07:18 22575 13
原创 【Mybatis框架】输入映射-pojo包装类型
下面说说关于mapper.xml文件中的输入映射我们看一下之前为User配置的mapper文件UserMapper.xml:<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace命名空间,作用就
2015-06-15 22:58:32 9739 4
原创 【Android开发】网路编程及Internet应用-从指定网站上下载文件
利用前面学过的HttpUrlConnection和文件输入输出流来完成从Android端下载指定站点的文件。写一个编辑框,用来输入要下载文件的URL路径,下面一个按钮,点击实现文件下载res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xm
2015-06-14 09:51:08 2283
原创 【Android开发】网路编程及Internet应用-使用WebView显示网页
Android提供了内置的浏览器,该浏览器使用了开源的WebKit引擎。WebKit不仅能够搜索网址、查看电子邮件,而且能够播放视频节目。在Android中,要使用内置的浏览器,需要通过WebView组件来实现。通过WebView组件可以轻松实现显示网页功能。如何在Android中使用WebView组件:WebView组件使用方法同其它组件一样,既可以使用XML布局文件配置,也可以
2015-06-14 09:42:48 3108
原创 【MyBatis框架】SqlMapConfig剖析
下面对SqlMapConfig.xml中的配置进行详细剖析。mybatis的全局配置文件SqlMapConfig.xml,配置内容如下:properties(属性)settings(全局配置参数)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境集
2015-06-14 06:20:31 2601
原创 【MyBatis框架】Mybatis开发dao方法第二部分
下面来继续讨论mybatis开发Dao的方法我们前面使用原始的Dao开发方法,发现了许多弊端,我们下面使用mapper代理来写Dao方法。1.mapper代理方法(程序员只需要mapper接口(相当 于dao接口))开发人员需要先编写Mapper接口(相当 于dao接口),需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象。package cn.edu.hpu.myba...
2015-06-14 06:15:29 5572 3
原创 【MyBatis框架】Mybatis开发dao方法第一部分
下面来讨论mybatis开发Dao的方法先来说一下基本架构流程中使用到的几个类1.SqlSession使用范围1.1SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例管理SqlSessi
2015-06-11 11:39:02 4804
原创 【MyBatis框架】MyBatis入门程序第二部分
我们通过写一个简单的MyBatis小项目来在实战中学习MyBatis,接着上一篇继续我们开始实现需求中的添加和删除用户功能(1)向数据库中添加用户数据使用User.xml,加入添加用户的sql语句。<!-- 添加用户parameterType:指定输入参数类型是pojo(包括用户信息) #{}中指定POJO的属性名,接收到POJO对象的属性值,mybatis通过OGNL
2015-06-11 11:35:44 2407 1
原创 【Android开发】网络编程及Internet应用-使用HttpClient访问网络
前面介绍了使用java.net包中的HttpURLConnection类来访问网络,在一般情况下,如果只需要到某个简单页面提交请求并获取服务器的响应,完全可以使用该技术来实现。不过,对于比较复杂的联网操作,使用HttpURLConnection类就不一定能满足要求,这时,可以使用Apache组织提供的HttpClient项目来实现。在Android中,已经成功的集成了HttpClient,所以可以
2015-06-08 16:37:44 3441
原创 【Android开发】网络编程及Internet应用-通过HTTP访问网络
通有线互联网一样,移动互联网也可以使用HTTP访问网络。在Android中,针对HTTP进行网络通信的方法主要有两种,一种是使用HttpURLConnection实现;另一种是使用HttpClient实现。下面分别进行介绍1.使用HttpURLConnection访问网络HttpURLConnection位于java.net包中,用于发送HTTP请求和获取HTTP响应。由于该类是抽
2015-06-08 16:32:28 2623 2
原创 【MyBatis框架】MyBatis入门程序第一部分
我们通过写一个简单的MyBatis小项目来在实战中学习MyBatis1.需求根据用户id(主键)查询用户信息根据用户名称模糊查询用户信息添加用户删除 用户更新用户mybatis运行环境(jar包):从https://github.com/mybatis/mybatis-3/releases下载,3.2.7版本lib下:依赖包mybatis-3.2
2015-06-07 13:33:20 3023 12
原创 【MyBiatis框架】Jdbc的弊端探讨和MyBiatis框架的简介
我们使用JSP+Servlet做Web应用的时候经常使用JDBC作为数据库的连接,那么,直接使用JDBC操作数据库进行增删改查是有一定弊端的,正因为如此才衍生出了Hibernate、MyBatis等一系列优秀的ORM框架,我们来看看原生态jdbc编程中的问题总结:1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能。设想:使用数
2015-06-07 11:14:23 4161 5
原创 【Android开发】线程实例-多彩霓虹灯
利用之前学过的多线程处理技术,我们做一个利用Android手机显示一个多彩霓虹灯效果的小实例。布局文件,这里只留有加了id的线性布局文件res/layout/mian.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schema
2015-06-07 11:06:03 2925 6
原创 【Android开发】范例2-开启新线程实现电子广告牌
利用之前学过的多线程处理技术,我们做一个开启新线程实现电子广告牌的项目界面布局文件,加入ImageView图片控件,用于显示一个图片,一个TextView控件,用于显示广告说明语。res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln
2015-06-05 13:25:43 1960 2
原创 【Android开发】范例1-开启新线程获取网络图片并显示到ImageView中
利用之前学过的多线程处理技术,我们来写一个开启新线程获取网络图片并显示到ImageView中的实例。在布局文件中加入一个ImageView图片控件:res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://
2015-06-04 12:33:29 5216
原创 【Android开发】消息处理类(Handler)与消息类(Message)介绍
一.消息处理类(Handler)简介消息处理类Handler允许发送和处理Message或Runnable对象到其所在线程的MessageQueue中。Handler主要有一下两个作用:1.将Message或Runnable应用post()或sandMessage()方法发送到MessageQueue中,在发送时可以指定延迟时间、发送时间以及要携带的Bundle数据。当MessageQ
2015-06-04 12:30:25 6810
原创 【Android开发】线程与消息处理-Handler消息传递机制之Looper
在前面已经介绍了在Android中如何创建、开启、休眠和中断线程。不过,此时并没有在新创建的子线程中对UI界面上的内容进行操作,如果应用前面介绍的方法对UI界面进行操作,将抛出异常。为此,Android中引入了Handler消息传递机制,来实现在新创建的线程中操作UI界面。下面将对Handler消息传递机制进行介绍。1.循环者Looper介绍在介绍Looper之前,需要先了解一
2015-06-03 23:03:33 1721
原创 【Android开发】线程与消息处理-开启一个新线程播放背景音乐
在本实例用,开启一个新的线程播放背景音乐,在音乐文件播放完毕后,暂停5秒后重新开始播放。具体实现:界面(只有一个"开始"按钮)res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas
2015-06-03 23:01:07 5050
原创 【Android开发】线程与消息处理-通过实现Runnable接口来创建线程
利用Runnabe接口来创建线程,实现这样一个效果:在屏幕上有一个"开始"和一个"结束"按钮,单击"开始"按钮,将在日志(Log)面板中输出循环变量的值;单击"停止"按钮,将终端线程。界面资源文件:rea/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2015-06-02 23:18:54 3043
原创 【Android开发】线程与消息处理-实现多线程
在现实生活中,很多事情是同时进行的,例如,我们可以一边看书,一边喝咖啡;而计算机则可以一边放音乐,一边打印文档。对于这种可以同时进行的任务,可以用线程来表示,每个线程完成一个任务,并与其它线程同时执行,这种机制被称为多线程。下面介绍如何创建、开启、休眠和停止线程。1.创建线程两种方法a.通过Thread类的构造方法创建线程在Android中,可以使用Thread类提供的
2015-06-02 23:16:16 1572
vue判断输入的快递单号是否符合规则Demo
2022-07-22
使用Sidecar支持异构平台的微服务-代码部分.zip
2020-01-30
Hystrix Dashboard的使用-代码部分.zip
2019-10-20
Feign对Hystrix的支持-代码部分.zip
2019-10-04
覆写Feign的默认配置-代码部分.zip
2019-08-06
将微服务注册到Eureka Server上-代码部分.zip
2019-07-01
Eureka简介与Eureka Server-代码部分.zip
2019-06-26
Spring Boot与MyBatis整合工程
2018-09-08
osgi-SpringDM
2016-03-16
TortoiseSVN-1.8.11.26392-x64-svn-1.8.13.msi
2015-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人