2016-08-22 11 views
0

私はここで全く新しいです。誰か助けてもらえますか?私の構文は以下の通りです。Mybatisクエリの結果がnullの理由

PO:

package com.cabr.po; 

public class InputVAT { 

private String dept; 
private String period; 
private String tax; 
private String type; 
} 

のtoStringおよびget、setメソッドは、ここommitedされています。

<typeAliases> 
    <package name="com.cabr.po" /> 
</typeAliases> 

DaoImplement:

@Override 
public InputVAT findInputVATByPeriod(String period) { 
    SqlSession sqlSession = sqlSessionFactory.openSession(); 

    InputVAT inputVAT =  sqlSession.selectOne("com.cabr.findInputVATByPeriod", period); 
    return inputVAT; 
} 

マッパー:

<mapper namespace="com.cabr"> 
<select id="findInputVATByPeriod" parameterType="string" 
    resultType="InputVAT"> 
    SELECT * FROM input_vat WHERE period = #{period} 
</select> 

試験:

@Test 
public void testFindInputVATByPeriod() { 
    InputVATDao dao = new InputVATDaoImpl(sqlSessionFactory); 
    InputVAT inputVAT = dao.findInputVATByPeriod("201607"); 
    System.out.println(inputVAT); 
} 
構成で

エイリアス

データベース:私はこのテストを実行しようとすると

CREATE TABLE `input_vat` (
`id` varchar(32) NOT NULL, 
`dept` varchar(10) NOT NULL, 
`period` varchar(6) NOT NULL, 
`tax` varchar(10) NOT NULL, 
`type` varchar(128) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

、コンソールが表示さ:

2016-08-22 15:54:08,282 [main] [com.cabr.findInputVATByPeriod]-[DEBUG] ==> 
Preparing: SELECT * FROM input_vat WHERE period = ? 

2016-08-22 15:54:08,360 [main] [com.cabr.findInputVATByPeriod]-[DEBUG] ==> 
Parameters: 201607(String) 

2016-08-22 15:54:08,462 [main] [com.cabr.findInputVATByPeriod]-[DEBUG] <== 
Total: 0 

null 

私は私が実際に存在しながら、結果がnullである理由私の問題は不思議clearly.I descriptedていたいですデータベース内のデータ。恥をcorrectly.What実際に

<select id="findInputVATByPeriod" parameterType="string" 
resultMap="MyresultMap"> 
SELECT * FROM input_vat WHERE period = #{period} 
</select> 

<ResultMap id="MyresultMap" type="InputVAT"> 
    <id column="id" property="id"> 
</ResultMap> 

私は自分のデータベース内のデータを保存していない:

答えて

0

は、うーん...私はいくつかの答えは、これが動作していることに気づきました!

+0

また、 '' attrにも言及する必要はなく、ResultMapで十分です –

+0

thx!私は次回に試してみよう! – fuko

関連する問題