前提・実現したいこと
spring bootのmybatisを使用して社員データの登録処理を作成しています。
その中でinsert処理で以下のエラーが発生しています。
発生している問題・エラーメッセージ
org.apache.ibatis.binding.BindingException: Parameter 'role' not found. Available parameters are [arg3, arg2, param5, arg4, arg1, arg0, param3, param4, param1, param2]
該当のソースコード
java
1/* 2 * map定義 3 */ 4@Mapper 5public interface EmployeeMapper { 6/* 7* こちらのselectは動いています 8*/ 9 @Select({ 10 "select employee.id,roginID,password,username,role,userrolename from employee inner join userrole ON employee.role = userrole.id where roginID = #{rogin} limit 1" 11 }) 12 Employee selectByName(String rogin); 13/* 14* 問題個所.XMLは未使用 15*/ 16 @Insert({ 17 "insert into employee (roginID,password,username,mailAddress,role) values (#{rogin},#{pass},#{name},#{mail},${role})" 18 }) 19 void insert(String rogin,String pass,String name,String mail,int role); 20} 21 22/* 23 * map呼び出し 24 */ 25public boolean registUser(UserEntryBean userEntryBean) { 26 27 //パスワードエンコード 28 String encode = (省略); 29 30 String roginID = (省略); 31 String userName = (省略); 32 String mailAddress = (省略); 33 int role = (省略); 34 35 //DBアクセス 36 employeeMapper.insert(roginID, encode, userName, mailAddress, role); 37 38 return true; 39}
試したこと
select文等は正常な動作を確認しています。
${role}を#{role}に修正して確認しましたが同じexceptionが発生しました
org.apache.ibatis.binding.BindingException: Parameter 'rogin' not found. Available parameters are [arg3, arg2, param5, arg4, arg1, arg0, param3, param4, param1, param2]
補足情報(FW/ツールのバージョンなど)
eclipse(4.19.0)
Java 11
Mysql 8.0
spring boot 2.5.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/26 08:02
2021/05/27 00:53