Como enviar parâmetros para o Jasper Report com Spring?

So consigo enviar a lista de pessoa pelo dataSouce, tentei fazer a pesquisa pelo findOne e o relatorio vem em branco, tentei apenas por teste enviar usando o " HashedMap parametro = new HashedMap()" porem não sei como envialo para o jasper, como posso resolver isso?

@Autowired private PessoaRepository pessoaRepository;

@RequestMapping("/materi")
public ModelAndView generateReportMateri(ModelAndView m, 
    @RequestParam(value = "format", required = false) String format){
    Object data = pessoaRepository.findAll();
    m.addObject("dataSource", data);
    m.addObject("format", "pdf");
    HashedMap parametro = new HashedMap();// LINHA NÃO FUNCIONA

    if(format != null && !format.isEmpty()){
        m.addObject("format", format);
    }
    
    m.setViewName("report_materi");
    return m;
}

Olá,
HashedMap??? Vc criou esta classe? isto não é nativo.
Se vc quer um hashmap então:
HashMap<String, Object> params = new HashMap<>();

@Rodrigo_Void essa parte teve uma falta de atenção minha, imprimi junto o parametro no pdf e mostrou corretamente, porem a minha dificuldade esta ocorrendo porque eu quero pegar apenas a “Pessoa” selecionada;

SELECT
mumiscdb01.pessoa.nome,
mumiscdb01.pessoa.codigo
FROM
mumiscdb01.pessoa
WHERE
mumiscdb01.pessoa.codigo = $P{COD_PESSOA}

Exemplo relatorio esta vindo assim;
> Parametro - codigo_pessoa - nome_pessoa
> 1 - 1 - Luiz marcio Java1
> 1 - 2 - Luiz marcio Java2
> 1 - 3 - Luiz marcio Java3

Sobre o parametro consigo enviar para o Report assim;

    m.addObject("COD_PESSOA", 1L);

Se quer só uma pessoa, crie um método em pessoaRepository que busque só um registro. Vc está usando findAll, que traz tudo. E neste caso usar como parametro no relatorio, não como dataSource.

Ja fiz isso, tentei com FindOne porem vem em branco o pdf.será que pode ser o relatorio?mas creio que esteja tudo normal;

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.3.1.final using JasperReports Library version 6.3.1  -->
<!-- 2017-05-03T10:42:42 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report_materi" pageWidth="595" pageHeight="842" columnWidth="535" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="c72f96d9-38c2-435f-af49-97a4a2b29c57">
	<property name="ireport.zoom" value="1.0"/>
	<property name="ireport.x" value="0"/>
	<property name="ireport.y" value="687"/>
	<property name="com.jaspersoft.studio.data.defaultdataadapter" value="CSIMUM-Academia"/>
	<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
	<style name="Title" forecolor="#FFFFFF" fontName="Times New Roman" fontSize="50" isBold="false"/>
	<style name="SubTitle" forecolor="#666666" fontName="Times New Roman" fontSize="18" isBold="false"/>
	<style name="Column header" forecolor="#666666" fontName="Times New Roman" fontSize="14" isBold="true"/>
	<style name="Detail" mode="Transparent" fontName="Times New Roman"/>
	<style name="Row" mode="Transparent" fontName="Times New Roman" pdfFontName="Times-Roman">
		<conditionalStyle>
			<conditionExpression><![CDATA[$V{REPORT_COUNT}%2 == 0]]></conditionExpression>
			<style mode="Opaque" backcolor="#F0EFEF"/>
		</conditionalStyle>
	</style>
	<subDataset name="PieChartDataset" uuid="39581794-7f4c-48d6-8f6a-b421776f515c"/>
	<parameter name="COD_PESSOA" class="java.lang.Long"/>
	<queryString>
		<![CDATA[SELECT mumiscdb01.pessoa.nome,
	mumiscdb01.pessoa.codigo
FROM mumiscdb01.pessoa
WHERE 
	 mumiscdb01.pessoa.codigo = $P{COD_PESSOA}]]>
> 	</queryString>
> 	<field name="codigo" class="java.lang.Long"/>
> 	<field name="nome" class="java.lang.String"/>
> 	<group name="Group1">
> 		<groupExpression><![CDATA[(int)($V{REPORT_COUNT}/15)]]></groupExpression>
> 		<groupFooter>
> 			<band height="6"/>
> 		</groupFooter>
> 	</group>
> 	<group name="Group2">
> 		<groupExpression><![CDATA[(int)($V{REPORT_COUNT}/5)]]></groupExpression>
> 	</group>
> 	<title>
> 		<band height="94" splitType="Stretch">
> 			<frame>
> 				<reportElement mode="Opaque" x="-20" y="0" width="597" height="65" forecolor="#006699" backcolor="#006699" uuid="29f958b3-9df5-4ee0-905e-9fd33029926f"/>
> 				<staticText>
> 					<reportElement x="40" y="6" width="270" height="54" forecolor="#202425" uuid="a1abbc3b-25cc-423e-bccd-926e2d025868"/>
> 					<textElement>
> 						<font size="18" isBold="true"/>
> 					</textElement>
> 					<text><![CDATA[TESTE]]></text>
> 				</staticText>
> 			</frame>
> 		</band>
> 	</title>
> 	<pageHeader>
> 		<band splitType="Stretch"/>
> 	</pageHeader>
> 	<columnHeader>
> 		<band height="62">
> 			<staticText>
> 				<reportElement x="40" y="36" width="100" height="14" uuid="e1719fa6-d4dd-4b2d-8a02-28e7c85202c3"/>
> 				<text><![CDATA[Parametro]]></text>
> 			</staticText>
> 			<staticText>
> 				<reportElement x="220" y="42" width="100" height="14" uuid="5ee151ae-721b-4e04-810b-77585b5d73df"/>
> 				<text><![CDATA[Codigo]]></text>
> 			</staticText>
> 			<staticText>
> 				<reportElement x="325" y="42" width="100" height="14" uuid="bd85236f-cbaa-46db-8d9d-67d1f3ae261c"/>
> 				<text><![CDATA[Nome]]></text>
> 			</staticText>
> 		</band>
> 	</columnHeader>
> 	<detail>
> 		<band height="31" splitType="Stretch">
> 			<line>
> 				<reportElement positionType="FixRelativeToBottom" x="227" y="22" width="326" height="1" uuid="1f2efa15-468e-4870-8f24-1cb1eda2034d"/>
> 			</line>
> 			<frame>
> 				<reportElement x="220" y="0" width="328" height="20" uuid="dec77cf2-1014-4b3e-9934-7f0c65a83bce"/>
> 				<textField isBlankWhenNull="true">
> 					<reportElement x="0" y="0" width="98" height="22" uuid="f6ed8818-0482-4af1-9685-35d1b5625fec"/>
> 					<textElement textAlignment="Left" verticalAlignment="Middle">
> 						<font isBold="true" isUnderline="true"/>
> 					</textElement>
> 					<textFieldExpression><![CDATA[$F{codigo}]]></textFieldExpression>
> 				</textField>
> 				<textField>
> 					<reportElement x="106" y="1" width="218" height="19" uuid="032ce024-3fcc-439e-8503-5d9f1b958b7c"/>
> 					<textElement verticalAlignment="Middle">
> 						<font isBold="true" isUnderline="true"/>
> 					</textElement>
> 					<textFieldExpression><![CDATA[$F{nome}]]></textFieldExpression>
> 				</textField>
> 			</frame>
> 			<textField>
> 				<reportElement x="40" y="5" width="100" height="20" uuid="f8d86b9b-68e1-4ad3-8fc2-7a8959dcb509"/>
> 				<textFieldExpression><![CDATA[$P{COD_PESSOA}]]></textFieldExpression>
> 			</textField>
> 		</band>
> 	</detail>
> 	<columnFooter>
> 		<band height="7" splitType="Stretch"/>
> 	</columnFooter>
> 	<pageFooter>
> 		<band height="13" splitType="Stretch"/>
> 	</pageFooter>
> 	<summary>
> 		<band splitType="Stretch"/>
> 	</summary>
> </jasperReport>

Blz, segue dali. Trazer todos não é um caminho pra sua solução.
Agora parte pra resolver isso.

Vc tinha antes o seguinte:

Object data = pessoaRepository.findAll();
m.addObject("dataSource", data);

onde data na verdade parece ser uma lista. Obs.: n use object.
Agora se esta usando o mesmo data, este object é uma pessoa, é um objeto diferente, logo a forma que vc implementou seu relatorio não está de acordo com isso. Portanto ajuste o relatorio para o tipo de parametro correto.
Novamente: n adianta usar Object que não vai ficar genérico, está ocultando o problema.
Tira esse object. Usa a classe correta, Pessoa eu acho que deve ser. Isso não vai resolver, mas vai ser mais facil de vc entender.
Ai vc está passando este data como parametro e nomeou ele como “dataSource”. Tecnicamente ele não é um dataSource. Vc deve ter seguido um exemplo de dataSource, mas isso n cabe ao seu caso que quer passar um registro só ao relatorio e não uma lista. Sugiro tambem trocar este nome para ‘pessoa’.
Bom, isto era só na parte Java, agora ajusta tudo isso no seu jasper pra ser compatível.

Olhando por cima seu jasper, parece que vc o implementou seguindo a lógica que receberia uma lista de dados. Não é o caso, se vc quer exibir dados de um só registro, vc não usa a banda detalhe.

De uma maneira crosseira e feia esse código no repository resolveria o problema;

public List<Pessoa> findByCodigo(Long codigo);

Bom… pelo o que eu entendi, eu realizei as mudanças sobre o jasperReport eu alterei e tirei da banda detalhe.(era somente para teste)

@RequestMapping("/materi")
public ModelAndView generateReportMateri(ModelAndView m,
@RequestParam(value = “format”, required = false) Sring format){

    Pessoa pessoa =  pessoaRepository.findOne(2L);
    m.addObject("Pessoa", pessoa);
    m.addObject("format", "pdf");

    if(format != null && !format.isEmpty()){
        m.addObject("format", format);
    }
    m.setViewName("report_materi");  
    return m;
}

Exception; WARN 3574 --- [nio-8080-exec-1] --The supplied java.sql.Connection object is null.