前提・実現したいこと
閲覧いただき、ありがとうございます。
Eclipse,Springを使ってJAVAの勉強をしている(超)初心者です。
元々eclipse4.5 Marsで開発していた資産をeclipse2018-09に
アップデートしたのですが、以下のようなエラーが出ています。
ネットで調べても、参考になる情報が見当たらず困っています。
どなたかご教示いただけないでしょうか。
発生している問題・エラーメッセージ
型 RowMapper は総称ではありません。引数 <Employee> でパラメーター化できません。
]
該当のソースコード
java
1(AddressBookController.java) 2package jp.practice.address; 3 4import java.util.List; 5import java.util.Map; 6 7import javax.validation.Valid; 8 9import org.springframework.stereotype.Controller; 10import org.springframework.ui.Model; 11import org.springframework.validation.BindingResult; 12import org.springframework.web.bind.annotation.RequestMapping; 13 14@Controller 15@RequestMapping(value = "/book") 16public class AddressBookController { 17 private static final String INIT = "init"; 18 private static final String REFER = "refer"; 19 private static final String UPDATE = "update"; 20 private static final String LIST = "list"; 21 private static final String INSERT = "insert"; 22 private static final String DELETE = "delete"; 23 private static final String INIMSG = "従業員番号を入力してください"; 24 private static final String REFMSG = "情報が取得できました"; 25 private static final String UPDMSG = "情報を更新してください"; 26(省略) 27 private RecordManager recordManager; 28 29 private DepartmentInfoGet departmentInfoGet; 30 public AddressBookController(RecordManager recordManager,DepartmentInfoGet departmentInfoGet) { 31 this.recordManager = recordManager; 32 this.departmentInfoGet = departmentInfoGet; 33 } 34 @RequestMapping(value = "/start") 35 public String init(AddressBookForm form, Model model) { 36 model.addAttribute("message", INIMSG); 37 return INIT; 38 } 39 40 @RequestMapping(params = "reference") //参照 41 public String refer(@Valid AddressBookForm form, BindingResult result, Model model) { 42 if (result.hasErrors()) { 43 return INIT; 44 } 45 46 List<Map<String, Object>> departmentList = departmentInfoGet.getDepartmentList(); 47 model.addAttribute("departmentList", departmentList); 48 49 Employee employee = recordManager.selectEmployee(form.getId()); 50 if (employee != null) { 51 form.setName(employee.getName()); 52 form.setPhone(employee.getPhone()); 53 form.setAddress(employee.getAddress()); 54 form.setKana(employee.getKana()); 55 form.setSex(employee.getSex()); 56 form.setDepartment(employee.getDepartment()); 57 model.addAttribute("message", REFMSG); 58 return REFER; 59 } else { 60 model.addAttribute("message", ERRMSG); 61 return INIT; 62 } 63 } 64(省略)
java
1(RecordManager.java) 2package jp.practice.address; 3 4import java.sql.ResultSet; 5import java.sql.SQLException; 6import java.util.List; 7import java.util.Map; 8 9import javax.swing.tree.RowMapper; 10 11import org.springframework.dao.EmptyResultDataAccessException; 12import org.springframework.dao.IncorrectResultSizeDataAccessException; 13import org.springframework.jdbc.core.JdbcTemplate; 14import org.springframework.stereotype.Component; 15//*start ***/ 16@Component 17//*e n d ***/ 18public class RecordManager { 19 private JdbcTemplate jdbcTemplate; 20 public RecordManager(JdbcTemplate jdbcTemplate) { 21 this.jdbcTemplate = jdbcTemplate; 22 } 23 24 /** 25 * 指定したID のレコードを取得 26 * 27 * @param id 28 * 従業員番号 29 * @return Employee 30 */ 31 32/**start 33 * @param name ****/ 34 public Employee selectEmployee(String id) { 35 36 try{ 37 return jdbcTemplate.queryForObject("select * from unit02.addressbook where id = ? ", 38 new Object[]{ id }, 39 new RowMapper<Employee>() { ←★★この行でエラー★★ 40 @Override 41 public Employee mapRow(ResultSet rs, int rowNum) throws SQLException { 42 Employee employee = new Employee("","","","","",0,0); 43 employee.setId(rs.getString("id")); 44 employee.setName(rs.getString("name")); 45 employee.setPhone(rs.getString("tel")); 46 employee.setAddress(rs.getString("address")); 47 employee.setKana(rs.getString("kana")); 48 employee.setSex(rs.getInt("sex")); 49 employee.setDepartment(rs.getInt("department_cd")); 50 return employee; 51 } 52 }); 53 } catch (EmptyResultDataAccessException e) { 54 return null; 55 } 56 } 57 58 /** 59 * 指定した従業員情報を反映 60 * 61 * @param emp 62 * 従業員情報 63 */ 64 public int updateEmployee(String id,String name,String kana, String phone, String address, int sex, int department){ 65 try{ 66 return jdbcTemplate.update("update unit02.addressbook set name = ? , kana = ? , tel = ?, address = ?, sex = ? ,department_cd = ? where id = ? ", 67 new Object[]{ name , kana , phone , address, sex, department, id }); 68 } catch (IncorrectResultSizeDataAccessException e) { 69 System.out.println("data incorrect ERR"); 70 return 0; 71 } 72 } 73 public int insertEmployee(String id,String name, String kana,String phone, String address, int sex, int department){ 74 try{ 75 return jdbcTemplate.update("insert unit02.addressbook value (? , ? ,? , ? , ? , ? ,?) ", 76 new Object[]{ id, name , kana , phone , address, sex, department }); 77 } catch (IncorrectResultSizeDataAccessException e) { 78 System.out.println("data incorrect ERR"); 79 return 0; 80 } 81 } 82 public int deleteEmployee(String id){ 83 try{ 84 return jdbcTemplate.update("delete from unit02.addressbook where id = ? ", 85 new Object[]{ id }); 86 } catch (IncorrectResultSizeDataAccessException e) { 87 System.out.println("data incorrect ERR"); 88 return 0; 89 } 90 } 91 public List<Map<String, Object>> getEmployeeList() { 92 List<Map<String, Object>> list = jdbcTemplate.queryForList("select a.id,a.name,a.kana,d.name as departmentname,a.tel,a.address,a.sex from unit02.addressbook as a left join unit02.department as d on a.department_cd = d.cd order by id"); 93 return list; 94 } 95}
java
1(Employee.java) 2package jp.practice.address; 3 4public class Employee { 5 6 private String id; 7 private String name; 8 private String phone; 9 private String address; 10 private String kana; 11 private int sex; 12 private int department; 13 /** 14 * @param id 15 * @param name 16 * @param kana 17 * @param phone 18 * @param address 19 * @param sex 20 * @param department 21 */ 22 public Employee(String id, String name, String kana, String phone, String address, int sex, int department) { 23 this.id = id; 24 this.name = name; 25 this.phone = phone; 26 this.address = address; 27 this.kana = kana; 28 this.sex = sex; 29 this.department = department; 30 } 31 /** 32 * @return id 33 */ 34 public String getId() { 35 return id; 36 } 37 /** 38 * @param id セットする id 39 */ 40 public void setId(String id) { 41 this.id = id; 42 } 43 /** 44 * @return name 45 */ 46 public String getName() { 47 return name; 48 } 49 /** 50 * @param name セットする name 51 */ 52 public void setName(String name) { 53 this.name = name; 54 } 55 /** 56 * @return phone 57 */ 58 public String getPhone() { 59 return phone; 60 } 61 /** 62 * @param phone セットする phone 63 */ 64 public void setPhone(String phone) { 65 this.phone = phone; 66 } 67 /** 68 * @return address 69 */ 70 public String getAddress() { 71 return address; 72 } 73 /** 74 * @param address セットする address 75 */ 76 public void setAddress(String address) { 77 this.address = address; 78 } 79 /** 80 * @return kana 81 */ 82 public String getKana() { 83 return kana; 84 } 85 /** 86 * @param kana セットする kana 87 */ 88 public void setKana(String kana) { 89 this.kana = kana; 90 } 91 /** 92 * @return sex 93 */ 94 public int getSex() { 95 return sex; 96 } 97 /** 98 * @param sex セットする address 99 */ 100 public void setSex(int sex) { 101 this.sex = sex; 102 } 103 /** 104 * @return department 105 */ 106 public int getDepartment() { 107 return department; 108 } 109 /** 110 * @param department セットする address 111 */ 112 public void setDepartment(int department) { 113 this.department = department; 114 } 115 /* (非 Javadoc) 116 * @see java.lang.Object#hashCode() 117 */ 118 @Override 119 public int hashCode() { 120 final int prime = 31; 121 int result = 1; 122 result = prime * result + ((id == null) ? 0 : id.hashCode()); 123 return result; 124 } 125 /* (非 Javadoc) 126 * @see java.lang.Object#equals(java.lang.Object) 127 */ 128 @Override 129 public boolean equals(Object obj) { 130 if (this == obj) { 131 return true; 132 } 133 if (obj == null) { 134 return false; 135 } 136 if (!(obj instanceof Employee)) { 137 return false; 138 } 139 Employee other = (Employee) obj; 140 if (id == null) { 141 if (other.id != null) { 142 return false; 143 } 144 } else if (!id.equals(other.id)) { 145 return false; 146 } 147 return true; 148 } 149} 150
試したこと
①javac -version でjavaのコンパイル環境を確認。⇒11.0.2
②eclipse>ウィンドウ>設定>java>コンパイラー>コンパイラー準拠レベルを確認⇒1.8
③①と②の同期がとれているかよく分からなかったため、②の準拠レベルを11(BETA)に変更し、フルビルドを行ったが、結果変わらず。
回答1件
あなたの回答
tips
プレビュー