mapper

Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid

烂漫一生 提交于 2020-01-31 04:19:19
今天在写maven+ssm框架时报如图所示错误 点开target一看,我的xxxmapper.xml文件根本就没有被打包(所以报错信息写了找不到我在xxxmapper.xml写的方法) 上网去查了查,找到如下解答 构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。 Maven打包时,默认java目录下只将.java编译并将编译后的class文件打包,而mapper接口与mapper映射文件放在同一目录下时,mapper映射文件未被打包 。 解决方案如下 在pom.xml文件的build节点下添加 resources节点 <resources> <resource> <directory>${basedir}/src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> 问题得到解决 来源: CSDN 作者: zjs_scallop 链接: https://blog.csdn.net/zjs_scallop/article/details/104119291

MapReduce数据流向分析

家住魔仙堡 提交于 2020-01-30 13:36:36
MR数据流向示意图 步骤 1 输入文件从HDFS流向Mapper节点。在一般情况下,map所需要的数据就存在本节点,这就是数据本地化计算的优势,但是往往集群中数据分布不均衡(1000台节点,数据冗余度是10,每个文件并不能均匀分布在每个节点上),而MR的计算槽位是均匀分布在节点上的(配置文件中指定的map和reduce数量),所以势必有些计算节点需要通过数据传输从别的节点获取计算数据。 步骤 2 Mapper输出到内存缓冲区。Mapper的计算结果并不是立即写入本地的文件系统,而是首先写入内存缓冲区,并且 Partitioner 也发生在这个阶段,就是map的计算结果写入到内存缓冲区的时候会进行 Partitioner 操作对输出键值对进行分区。 步骤 3 从内存缓冲区到本地磁盘。当内存缓冲区达到一定的阈值的时候就会将数据以临时文件的形式写入本地磁盘,这个过程称为spill,spill的是还会按照key的序列化字节做排序。当整个map任务结束的时候,会对这些临时文件以Partitioner为单位进行合并操作,对于同一个分区将进行多次合并,排序后生成一个大的R egion文件。内存缓冲区的默认大小是100M,溢写比例默认是0.8(可以通过spill.percent参数来调节)。 如果用户作业设置了 Combiner ,那么spill之前会对map的输出键值对调用 Combiner

Hadoop之MapReduce的Combiner解析

情到浓时终转凉″ 提交于 2020-01-30 07:07:19
Combiner 是MapReduce程序中Mapper和Reducer之外的一种组件,其父类是Reducer。 Combiner和Reducer的区别在于运行的位置 (1)Combiner是在每一个MapTask所在的节点运行 (2)Reducer是接受全局所有的Mapper端的输出结果 注意: (1)Combiner对每一个MapTask的输出进行局部汇总,减少网络传输量 (2)Combiner不能影响业务逻辑,Combiner输出KV应该和Reducer的输入KV类型对于起来 不适用Combiner的例子: Mapper 3 5 7->(3+5+7)/3=5 2 6 ->(2+6)/2=4 Reducer (3+5+7+2+6)/5=23/5 不等于(5+4)/2=9/2 自定义Combiner (1)自定义一个 Combiner 继承 Reducer ,重写 Reduce 方法 public class WordcountCombiner extends Reducer<Text, IntWritable,Text,IntWritable> { @Override protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException,

Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource

喜夏-厌秋 提交于 2020-01-30 01:50:15
配置Mybatis遇到的问题 org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### The error may exist in com.smbms.dao.UserMapper.xml ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com.smbms.dao.UserMapper.xml at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) 这个显然是mapper.xml文件配置出了问题。 我解决的方法是, 修改分隔符(将.换成\) 来源: CSDN 作者: halla001 链接: https://blog.csdn.net/DaDaguai001/article/details/104105577

ASP.NET Core搭建多层网站架构【7-编写角色业务的增删改查】

喜夏-厌秋 提交于 2020-01-29 20:14:51
2020/01/26, ASP.NET Core 3.1, VS2019 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构【7-编写角色业务的增删改查】 编写最简单的增删改查业务,涉及到DI依赖注入的使用、AutoMapper的使用、工作单元与仓储的使用 文章目录 此分支项目代码 本章节介绍了编写最简单的增删改查业务,涉及到DI依赖注入的使用、AutoMapper的使用、工作单元与仓储的使用 类库添加引用 向 MS.Services 类库添加对 MS.Models 项目的引用 BaseService 在 MS.Services 类库中添加 BaseService.cs 类: using AutoMapper; using MS.DbContexts; using MS.UnitOfWork; namespace MS.Services { public interface IBaseService { } public class BaseService : IBaseService { public readonly IUnitOfWork<MSDbContext> _unitOfWork; public readonly IMapper _mapper; public BaseService(IUnitOfWork<MSDbContext>

Mybatis

心不动则不痛 提交于 2020-01-29 16:29:03
Mybatis知识点 需要进行配置,查看前面的配置笔记 分为两种写法,一种是注解,一种是xml文件 事务 缓存 注解写法 把JdbcTemplate改成Mybatis // 把前面写个接口的service层的代码改成这个 // service/TestService.java @Repository // 同 @Controller public class TestService { @Autowired private TestDao testDao; // 通过JdbcTemplate的方法才能操作数据库 public ArrayList get(TestBean testBean) { return testDao.get(testBean); } } // dao/TestDao.java public interface TestDao { @Select("select * from t_user where id = #{id}") ArrayList<TestBean> get(TestBean testBean); // 这个ArrayList是返回值的意思,select的返回值有bean,list // 其他的几个注解,增,改,删都是返回的数字Integer } 注解有哪些 // 常用的 @Insert:实现新增 @Update:实现更新 @Delete

TkMybatis 笔记

落花浮王杯 提交于 2020-01-28 22:30:09
目录 1.基本步骤 2.Java 实体类 3.集成Mapper 4.Mapper继承tkMabatis的Mapper接口 5.启动类Application或自定义Mybatis配置类上使用@MapperScan注解扫描Mapper接口 6.application.properties配置mapper.xml配置文件的扫描路径 7.常用注解 8.常用方法 1.基本步骤 1. 引入TkMybatis的Maven依赖 2. 实体类的相关配置,@Id,@Table 3. Mapper继承tkMabatis的Mapper接口 4. 启动类Application或自定义Mybatis配置类上使用@MapperScan注解扫描Mapper接口 5. 在application.properties配置文件中,配置mapper.xml文件指定的位置[可选] 6. 使用TkMybatis提供的sql执行方法 7. 如有需要,实现mapper.xml自定义sql语句 PS : 1. TkMybatis默认使用继承Mapper接口中传入的实体类对象去数据库寻找对应的表,因此如果表名与实体类名不满足对应规则时,会报错,这时使用@Table为实体类指定表。(这种对应规则为驼峰命名规则) 2. 使用TkMybatis可以无xml文件实现数据库操作,只需要继承tkMybatis的Mapper接口即可。 3.

springboot笔记

匆匆过客 提交于 2020-01-28 17:12:56
springboot整合了第三方常用的框架 log4j日志配置https://www.jianshu.com/p/ccafda45bcea 声明该类是一个springboot引导类 SpringBootApplication 所有springboot工程必须继承 < parent > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - parent < / artifactId > < version > 2.1 .9 . RELEASE < / version > < relativePath / > < ! -- lookup parent from repository -- > < / parent > web功能起步依赖 < dependency > < ! -- web功能起步的依賴 -- > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - web < / artifactId > < / dependency > 热部署配置 开发中反复修改类 页面等资源,需要重启才能生效

IDEA自动生成Mapper和实体文件

怎甘沉沦 提交于 2020-01-28 08:22:06
当我们在用到Mybatis的时候,肯定避免不了需要根据数据表字段创建pojo类、mapper文件以及dao类,并且需要配置它们之间的依赖关系,这样的工作很琐碎和重复,mybatis官方也发现了这个问题,因此给我们提供了mybatis generator工具来帮我们自动创建pojo类、mapper文件以及dao类并且会帮我们配置好它们的依赖关系。 今天用到这块工具,通过自己的努力终于可以成功的应用,特意把该工程上传到Github上供大家参考学习,地址: https://github.com/haobindayi/Mybatis-Generator-Mapper 大家可以直接到github上下载,也可以跟着我下面的步骤自己来试一下。 1.新建一个空白的maven工程,填写必填的项目名称进入项目页面。 2.打开pom.xml文件进行修改文件,引入需要的依赖,并修改对应的build的规则。 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:

记一次磁盘扩容失败并恢复

邮差的信 提交于 2020-01-28 08:13:11
扩容前: 然后准备给home扩容: 扩容前先备份一下: 分两步: 1.备份VG,这个是系统会自动备份的,文件在/etc/lvm/archive/目录下 2.备份superblock superblock记录了磁盘的格式、已经使用大小等等信息 dd if=/dev/mapper/centos-home of=./backup_before_add bs=4096 count=1 扩容 添加新硬盘后: fdisk /dev/sda 扩容完成 增加了500M 模拟错误 我遇到的错误是新添加的硬盘离线了,我模拟下把新加入的sdb磁盘删除,重启后显示如下错误: Warning: Device for PV uuid not found or rejected by a filter 来分析下原因: 本来名叫centos的vg是有sda2和sdb1共同组成的,共计4.5G,现在sdb磁盘找不到了,sdb1也就找不到了。 通过vi打开/etc/lvm/arichive/下最新的.vg文件可以印证这一点: 正确处理 Device for PV uuid not found的姿势 先说正确的处理方式: 1.先备份vg和superblock,vg系统自动备份了,superblock的备份还是通过dd命令 dd if=/dev/mapper/centos-home of=./backup_after