<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>简单之美 &#187; Category &#187; Spring/Mybatis</title>
	<atom:link href="http://shiyanjun.cn/archives/category/opensource/spring-mybatis/feed" rel="self" type="application/rss+xml" />
	<link>http://shiyanjun.cn</link>
	<description>简单之美，难得简单，享受简单的唯美。</description>
	<lastBuildDate>Wed, 04 Mar 2026 07:04:53 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.2</generator>
	<item>
		<title>Spring Cloud Netflix构建微服务入门实践</title>
		<link>http://shiyanjun.cn/archives/1600.html</link>
		<comments>http://shiyanjun.cn/archives/1600.html#comments</comments>
		<pubDate>Fri, 03 Mar 2017 09:01:34 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[Spring/Mybatis]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[Eureka]]></category>
		<category><![CDATA[SpringCloud]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=1600</guid>
		<description><![CDATA[<p>在使用Spring Cloud Netflix构建微服务之前，我们先了解一下Spring Cloud集成的Netflix OSS的基础组件Eureka，对于Netflix的其他微服务组件，像Hystrix、Zuul、Ribbon等等本文暂不涉及，感兴趣可以参考官网文档。这里，我们用最基础的Eureka来构建一个最基础的微服务应用，来演示如何构建微服务，了解微服务的基本特点。
Eureka
Eureka是Netflix开源的一个微服务注册组件，提供服务发现特性，它是一个基于REST的服务，主要具有如下功能：

支持服务注册和发现
具有Load Balance和Failover的功能
在进行服务调用过程中，无需知道目标服务的主机（IP）和端口，只要知道服务名就可以实现调用

通过Netfix在Github上的文档，我们看一下Eureka的基本架构，如下图所示：

Eureka主要包含如下两个核心组件：

Eureka Server

Eureka Server是服务注册的服务端组件，负责管理Eureka Client注册的服务，提供服务发现的功能。它支持集群模式部署，集群部署模式中，多个Eureka Server之间会同步服务注册数据，能够保证某一个Eureka Server因为故障挂掉，仍能对外提供注册服务的</p>]]></description>
	<p>在使用Spring Cloud Netflix构建微服务之前，我们先了解一下Spring Cloud集成的Netflix OSS的基础组件Eureka，对于Netflix的其他微服务组件，像Hystrix、Zuul、Ribbon等等本文暂不涉及，感兴趣可以参考官网文档。这里，我们用最基础的Eureka来构建一个最基础的微服务应用，来演示如何构建微服务，了解微服务的基本特点。
Eureka
Eureka是Netflix开源的一个微服务注册组件，提供服务发现特性，它是一个基于REST的服务，主要具有如下功能：

支持服务注册和发现
具有Load Balance和Failover的功能
在进行服务调用过程中，无需知道目标服务的主机（IP）和端口，只要知道服务名就可以实现调用

通过Netfix在Github上的文档，我们看一下Eureka的基本架构，如下图所示：

Eureka主要包含如下两个核心组件：

Eureka Server

Eureka Server是服务注册的服务端组件，负责管理Eureka Client注册的服务，提供服务发现的功能。它支持集群模式部署，集群部署模式中，多个Eureka Server之间会同步服务注册数据，能够保证某一个Eureka Server因为故障挂掉，仍能对外提供注册服务的</p>			<content:encoded><![CDATA[<p>在使用Spring Cloud Netflix构建微服务之前，我们先了解一下Spring Cloud集成的Netflix OSS的基础组件Eureka，对于Netflix的其他微服务组件，像Hystrix、Zuul、Ribbon等等本文暂不涉及，感兴趣可以参考官网文档。这里，我们用最基础的Eureka来构建一个最基础的微服务应用，来演示如何构建微服务，了解微服务的基本特点。
Eureka
Eureka是Netflix开源的一个微服务注册组件，提供服务发现特性，它是一个基于REST的服务，主要具有如下功能：

支持服务注册和发现
具有Load Balance和Failover的功能
在进行服务调用过程中，无需知道目标服务的主机（IP）和端口，只要知道服务名就可以实现调用

通过Netfix在Github上的文档，我们看一下Eureka的基本架构，如下图所示：

Eureka主要包含如下两个核心组件：

Eureka Server

Eureka Server是服务注册的服务端组件，负责管理Eureka Client注册的服务，提供服务发现的功能。它支持集群模式部署，集群部署模式中，多个Eureka Server之间会同步服务注册数据，能够保证某一个Eureka Server因为故障挂掉，仍能对外提供注册服务的</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/1600.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring+Mybatis实现动态SQL查询</title>
		<link>http://shiyanjun.cn/archives/858.html</link>
		<comments>http://shiyanjun.cn/archives/858.html#comments</comments>
		<pubDate>Tue, 20 May 2014 14:04:06 +0000</pubDate>
		<dc:creator><![CDATA[Yanjun]]></dc:creator>
				<category><![CDATA[Spring/Mybatis]]></category>
		<category><![CDATA[开源技术]]></category>
		<category><![CDATA[Mybatis]]></category>

		<guid isPermaLink="false">http://shiyanjun.cn/?p=858</guid>
		<description><![CDATA[<p>在报表类应用中，通常需要根据不同的维度去组合复杂的查询条件，然后构造SQL去执行查询。如果只是通过在程序中简单地拼接SQL语句，工作量会非常大，而且代码可能也非常难以维护。Mybatis支持动态SQL查询功能，可以通过配置动态的SQL来简化程序代码中复杂性，不过，这个颇有点XML编程的韵味，通过XML来处理复杂的数据判断、循环的功能，其实也很好理解。
准备工作
下面，我们首先创建一个MySQL示例表，如下所示：
这个表用来存储域名的流量信息，流量信息我们从互联网上像Alexa、Compete、Quantcast等提供商获取，通过Crawler抓取的方式实现。我们先从简单的查询做起，只是根据某个字段进行查询，说明如何配置使用Mybatis，这里面也包含如何与Spring进行集成。
配置实践
下面是用到的一些资源的定义：

org.shirdrn.mybatis.TrafficInfo类

该类对应于traffic_info表中一条记录的数据，我们简单取几个字段，如下所示：

 org.shirdrn.mybatis.mapper.TrafficInfoMapper接口类

该类定义了一个与SQL配置进行映射的基本操作，实际的SQL配置有专门的XML文件来进行配置。</p>]]></description>
	<p>在报表类应用中，通常需要根据不同的维度去组合复杂的查询条件，然后构造SQL去执行查询。如果只是通过在程序中简单地拼接SQL语句，工作量会非常大，而且代码可能也非常难以维护。Mybatis支持动态SQL查询功能，可以通过配置动态的SQL来简化程序代码中复杂性，不过，这个颇有点XML编程的韵味，通过XML来处理复杂的数据判断、循环的功能，其实也很好理解。
准备工作
下面，我们首先创建一个MySQL示例表，如下所示：

CREATE TABLE `traffic_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `domain` varchar(64) NOT NULL,
  `traffic_host` varchar(64) NOT NULL,
  `month` varchar(8) NOT NULL,
  `monthly_traffic` int(11) DEFAULT '0',
  `global_traffic_rank` int(11) DEFAULT '0',
  `native_traffic_rank` int(11) DEFAULT '0',
  `rank_in_country` varchar(64) DEFAULT NULL,
  `address` varchar(200) DEFAULT NULL,
  `email` varchar(50) DEFAULT NULL,
  `traffic_type` int(2) DEFAULT '-1',
  `status` int(2) DEFAULT '0',
  `cr</p>			<content:encoded><![CDATA[<p>在报表类应用中，通常需要根据不同的维度去组合复杂的查询条件，然后构造SQL去执行查询。如果只是通过在程序中简单地拼接SQL语句，工作量会非常大，而且代码可能也非常难以维护。Mybatis支持动态SQL查询功能，可以通过配置动态的SQL来简化程序代码中复杂性，不过，这个颇有点XML编程的韵味，通过XML来处理复杂的数据判断、循环的功能，其实也很好理解。
准备工作
下面，我们首先创建一个MySQL示例表，如下所示：
这个表用来存储域名的流量信息，流量信息我们从互联网上像Alexa、Compete、Quantcast等提供商获取，通过Crawler抓取的方式实现。我们先从简单的查询做起，只是根据某个字段进行查询，说明如何配置使用Mybatis，这里面也包含如何与Spring进行集成。
配置实践
下面是用到的一些资源的定义：

org.shirdrn.mybatis.TrafficInfo类

该类对应于traffic_info表中一条记录的数据，我们简单取几个字段，如下所示：

 org.shirdrn.mybatis.mapper.TrafficInfoMapper接口类

该类定义了一个与SQL配置进行映射的基本操作，实际的SQL配置有专门的XML文件来进行配置。</p>]]></content:encoded>
			<wfw:commentRss>http://shiyanjun.cn/archives/858.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
