mapper

Hadoop学习之路(3)Map-Shuffle-Reduce详解与源码剖析

て烟熏妆下的殇ゞ 提交于 2019-12-26 15:42:36
@[TOC] 1 Split阶段      首先,接到hdf文件输入,在mapreduce中的map task开始之前,将文件按照指定的大小切割成若干个部分,每一部分称为一个split,默认是split的大小与block的大小相等,均为128MB。split大小由minSize、maxSize、blocksize决定,以wordcount代码为例,以下是main()方法 进入 waitForCompletion(true) 方法,进入 submit() 方法 找到 return submitter .submitJobInternal(Job.this, cluster); 进入,找到 int maps = writeSplits(job, submitJobDir); 进入 writeNewSplits() 方法      进入writeNewSplits()方法,可以看出该方法首先获取splits数组信息后,排序,将会优先处理大文件。最终返回mapper数量。这其中又分为两部分:确定切片数量 和 写入切片信息。确定切片数量的任务交由FileInputFormat的getSplits(job)完成,写入切片信息的任务交由JobSplitWriter.createSplitFiles(jobSubmitDir, conf, jobSubmitDir.getFileSystem

自动生成mybatis-Mapper注解类

房东的猫 提交于 2019-12-26 12:27:20
前言 搭建完成mybatis,对于查询来说的确方便了不少.每次新建一个实体类就需要写对应的mapper比较蛋疼. 添加插件在pom文件里面添加如下代码: < build > < pluginManagement > < plugins > < ! -- 自动生成代码插件begin -- > < plugin > < groupId > org . mybatis . generator < / groupId > < artifactId > mybatis - generator - maven - plugin < / artifactId > < version > 1.3 .2 < / version > < configuration > < configurationFile > src / main / resources / generatorConfig . xml < / configurationFile > < verbose > true < / verbose > < overwrite > true < / overwrite > < / configuration > < executions > < execution > < id > GenerateMyBatisArtifacts < / id > < goals > < goal >

Spring+SpringMVC+Mybatis整合

♀尐吖头ヾ 提交于 2019-12-26 03:53:19
一、简单测试工程搭建 1、Mybatis所需要的的jar包(包含数据库驱动包和相关的日志包)、SpringMVC和Spring的jar包 2、然后构建一个基本的工程,这里我们使用mapper代理的方式进行Mybatis的编写,关于mapper代理请参考 Mybatis简单入门 中的 Mybatis开发dao方法简介 中讲到的mapper代理方式,所以在项目中我们不建立dao包,需要建立mapper包用来存放mapper接口和相应的mapper配置文件。 二、配置Mybatis和Spring整合 1、配置Mybatis的核心配置文件,因为是和Spring整合,所以数据库的配置交给Spring管理由Spring进行数据源的配置。 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-config.dtd"> 5 <configuration> 6 7 <typeAliases> 8 <!--批量别名定义:Mybatis在定义别名的时候会自动扫描包中的po类,自动的将别名定义为类名(首字母大写或者小写都可以)--> 9 <package name

springmvc概述(2)(springmvc和mybatis整合)

你说的曾经没有我的故事 提交于 2019-12-26 03:44:47
1 springmvc和mybatis整合 1.1 需求 使用springmvc和mybatis完成商品列表查询。 1.2 整合思路 springmvc+mybaits的系统架构: 第一步:整合dao层 mybatis和spring整合,通过spring管理mapper接口。 使用mapper的扫描器自动扫描mapper接口在spring中进行注册。 第二步:整合service层 通过spring管理 service接口。 使用配置方式将service接口配置在spring配置文件中。 实现事务控制。 第三步:整合springmvc 由于springmvc是spring的模块,不需要整合。 1.3 准备环境 数据库环境:mysql5.1 java环境:jdk1.7.0_72 eclipse indigo springmvc版本:spring3.2 所需要的jar包: 数据库驱动包:mysql5.1 mybatis的jar包 mybatis和spring整合包 log4j包 dbcp数据库连接池包 spring3.2所有jar包 jstl包 工程结构: db.properties jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis jdbc.username=XXXX jdbc

快速搭建SSM项目

左心房为你撑大大i 提交于 2019-12-26 03:21:23
目录 1、使用IDEA快速创建maven+ssm 1.1、创建项目 1.1.1、创建project 1.1.2、填写项目信息 1.1.3、更改maven配置 1.1.4、选择路径 1.2、配置文件 1.2.1、pom配置 1.2.2、在resources里创建数据库配置文件:jdbc.properties 1.2.3、在resources里创建日志文件:log4j.properties 1.2.4、在resources里创建spring-mvc.xml 1.2.5、在resources里创建spring-mybatis.xml 1.2.6、在resources里创建mybatis自动生成代码配置文件:generatorConfig.xml 1.2.7、配置web.xml 1.3、用mybatis-generator插件生成代码 1.3.1、配置启动,点击idea右上角的启动方式 1.3.2、在comman line 那栏配置mybatis-generator:generate -e 1.3.3、建立java主文件夹 1.3.4、启动maven插件 1.4、配置Tomcat 1.4、spring-test+JUnit实现springMVC测试用例 编译器:IDEA 1、使用IDEA快速创建maven+ssm 1.1、创建项目 1.1.1、创建project 1.1.2、填写项目信息

mybatis中resultMap配置细则

人走茶凉 提交于 2019-12-26 02:39:28
resultMap算是mybatis映射器中最复杂的一个节点了,能够配置的属性较多,我们在 mybatis映射器配置细则 这篇博客中已经简单介绍过resultMap的配置了,当时我们介绍了resultMap中的id和result节点,那么在resultMap中除了这两个之外,还有其他节点,今天我们就来详细说说resultMap中的这些节点。 如果小伙伴对mybatis尚不了解,建议先翻看博主前面几篇博客了解一下,否则本文你可能难以理解,老司机请略过。 概览 先来看看resultMap中都有那些属性: <resultMap> <constructor> <idArg/> <arg/> </constructor> <id/> <result/> <association property=""/> <collection property=""/> <discriminator javaType=""> <case value=""></case> </discriminator> </resultMap> 我们看到,resultMap中一共有六种不同的节点,除了id和result我们在 mybatis映射器配置细则 这篇博客中已经介绍过了之外,还剩三种,剩下的四个本文我们就来一个一个看一下。 constructor constructor主要是用来配置构造方法

MyBatis框架之关联查询

丶灬走出姿态 提交于 2019-12-25 19:11:21
概述: 关联查询主要在<resultMap>元素中,用<association>配置一对一、用<collection> 配置一对多 一、一对一查询 1.使用扩展类实现一对一查询 <select id="queryById" parameter="int" resultType="User"> select * from user where userid=#{userid} </select> 2.使用resulutMap实现一对一查询(association) 举例说明:将用户信息和用户权限放到不同的实体类中,每一个用户对应着相应的权限,如果要根据用户id查询他对应的属性,则需要在用户信息加入一个权限的属性,再通过SQL映 射文件中的resultMap属性,将查询的结果映射到用户类中的所有属性,包括权限信息 <select id="queryById" parameter="int" resultMap="User_privilige_map"> select *  from user inner join privilige on user.privilige=privilige.privilige where userid=#{userid} </select> <resultMap type="org.zy.pojo.user" id="User_privilige_map

Linux 内核中的 Device Mapper 机制

瘦欲@ 提交于 2019-12-25 16:11:08
Device Mapper 是 Linux2.6 内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构,如图 1。 图1 Device Mapper的内核体系架构 在内核中它通过一个一个模块化的 target driver 插件实现对 IO 请求的过滤或者重新定向等工作,当前已经实现的 target driver 插件包括软 raid、软加密、逻辑卷条带、多路径、镜像、快照等,图中 linear、mirror、snapshot、multipath 表示的就是这些 target driver。Device mapper 进一步体现了在 Linux 内核设计中策略和机制分离的原则,将所有与策略相关的工作放到用户空间完成,内核中主要提供完成这些策略所需要的机制。Device mapper 用户空间相关部分主要负责配置具体的策略和控制逻辑,比如逻辑设备和哪些物理设备建立映射,怎么建立这些映射关系等等,而具体过滤和重定向 IO 请求的工作由内核中相关代码完成。因此整个 device mapper 机制由两部分组成–内核空间的 device mapper 驱动、用户空间的device mapper 库以及它提供的 dmsetup 工具。在下文中,我们分内核和用户空间两部分进行介绍。 内核部分 Device mapper

AutoMapper

纵然是瞬间 提交于 2019-12-25 11:21:49
先来看一点实例,两个类之间的映射。 首先定义两个类Source与DTOSource: 1 public class Source 2 { 3 public int Id { get; set; } 4 public string Content { get; set; } 5 } 6 7 public class DTOSource 8 { 9 public int Id { get; set; } 10 public string Content { get; set; } 11 } Source与DTOSource字段完全相同,来看看它俩如何通过AutoMapper转换,代码很简单。 1 Mapper.Initialize(x=>{ 2 x.CreateMap<Source,DTOSource>(); 3 }); 4 5 Source s = new Source{Id=1,Content="123"}; 6 7 DTOSource dto = Mapper.Map<DTOSource>(s); 第一步建立Source到DTOSource之间的映射,初始化一个Source实例后,来看下执行结果: 执行完成后,可以看到dto中的数据与之前初始化的s的数据是一样的,就像是直接将s拷贝了一份给dto,在两个类字段名定全相同的情况下如此

解决INVALID BOUND STATEMENT (NOT FOUND)(MYBATIS的MAPPER绑定问题)

五迷三道 提交于 2019-12-24 16:35:27
一、问题描述 使用mybatis的项目在本地可以正常运行,但当使用maven或Jenkins打包部署到服务器上时出现了绑定错误,异常信息为: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.yo.news.user.mapper.UserMapper.getUserByTelPwd 二、问题分析和解决方法 首先,给定的异常提示信息并不精准,有多个错误原因都会抛出该异常。mybatis出现这个问题,通常是由Mapper interface和对应的xml文件的定义对应不上引起的,这时就需要仔细检查对比包名、xml中的namespace、接口中的方法名称等是否对应。我之前就因为称忘记在xml标签的id属性中添加方法名或写错方法名而出现这个错误。 出现这个错误时,按以下步骤检查一般就会解决问题: 1:检查xml文件所在package名称是否和Mapper interface所在的包名一一对应; 2:检查xml的namespace是否和xml文件的package名称一一对应; 3:检查方法名称是否对应; 4:去除xml文件中的中文注释; 5:随意在xml文件中加一个空格或者空行然后保存。 -------------------------------- 但是!!!!!