1.はじめに
typeHandler、jdbcType、のJavaTypeは、Javaデータ型とデータベースのJDBC変換問題のデータ・タイプを処理するために使用されるが、XMLの異なる位置に引用符を使用することに注意してください使用しています。
異なる位置のXML 2.使用
1)角括弧内のXMLタグ属性行います
属性値を引用符で囲む必要があります
< typeHandlers > < typeHandler ハンドラ= "org.apache.ibatis.type.EnumTypeHandler" のJavaType = "セックス" /> </ typeHandlers >
あなたはエラーを引用する必要がない場合
2)は、XML、SQL文のプレースホルダの '#{}' の
あなたは引用符を使用することはできません
背景Javaの試験方法
プライベート SQLSESSION SQLSESSION = nullを。 @Before 公共 ボイドのOpenSession() { SQLSESSION = MyBatisUtil.createSqlSession()。 } @Test 公共 ボイドaddStudent() { int型 AddRowsを= sqlSession.insert( "com.kgc.dao.StudentMapper.addStudent" 、 新たな学生(Short.valueOf( "23")、Sex.FEMALE、 "张大明" )) ; sqlSession.commit(); System.out.println( "新增的行数" + AddRowsを)。 }
例1:typeHandler、jdbcType、JavaTypeが相場へ
< 挿入ID = "addStudent" のParameterType = "学生" useGeneratedKeys = "true"をkeyProperty = "ID" > < selectKey keyProperty = "ID" resultTypeと= "string"の順= "BEFORE" > 選択 UUID()</ selectKey > インサートtest_studentに(ID、年齢、性別、名前) の値(#{ID}、 #{年齢、jdbcType = "TINYINT"のJavaType = "短い"}、 #{性別、typeHandler = "org.apache.ibatis.type。 EnumTypeHandler "}、 #{名前}) </ インサート>
JUinitプロンプトは「TINYINT」列挙型を知りません
例2:引用符にtypeHandler、jdbcType、JavaTypeが属性値をキャンセル
< 挿入ID = "addStudent" のParameterType = "学生" useGeneratedKeys = "true"をkeyProperty = "ID" > < selectKey keyProperty = "ID" resultTypeと= "string"の順= "BEFORE" > 選択 UUID()</ selectKey > インサートtest_student(ID、年齢、性別、名前)に 値(#{ID}、 #{年齢、jdbcType = TINYINT、JavaTypeが=短い}、 #{性別、typeHandler = org.apache.ibatis.type.EnumTypeHandler}、 #{名}) </ 挿入>
印刷コンソールは、データを正常に増やします。
3.まとめ
山カッコは、XMLタグの属性を行い、typeHandler、属性値jdbcType、のJavaTypeに引用符を必要とします。
XML SQL文のプレースホルダには「#{}」typeHandler、jdbcType、ののJavaTypeを与えることはできませんが引用された属性値の。