ユーザーが作成するテーブルがインクリメントされるたびに自動インクリメント関数を作成しようとしていますDepartmenent_id(varchar)
.A1、A2 .....を指定したIDなので、結果取得のリストを使用するautoincrement()からselect Dept_id from Department
整数部分を分離し、TreeSet
コレクションに追加して最大の要素を取り出し、文字列の最初の部分に追加しようとしますが、文字列の部分文字列を取り出して9
整数に解析すると問題が発生しnumber format exception
ます。関数コードがここにあるのに、なぜこの問題が発生するのですか
private String autoIncreament() {
String id = null;
String num = null;
String result = "SELECT DEPARTMENT_ID FROM Department";
TreeSet<Integer> treeSet = new TreeSet<Integer>();
List<Map<String, Object>> result1 = getJdbcTemplate().queryForList(
result);
for (Map<String, Object> map : result1) {
id = (String) map.get("DEPARTMENT_ID");
System.out.println("id=" + id);
num = id.substring(1);
int number = Integer.parseInt(num);
treeSet.add(number);
}
Integer in = treeSet.pollLast();
int c=in.intValue();
c++;
id = id +c ;
/* System.out.println("jcak="+rowSet.getRow()); */
return id;
}
私の例外の詳細
19 Dec, 2012 11:25:14 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@5d764be1: startup date [Wed Dec 19 11:25:14 IST 2012]; root of context hierarchy
19 Dec, 2012 11:25:14 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [mybeans.xml]
19 Dec, 2012 11:25:14 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@7b5a6029: defining beans [dataSource,employeeDaoImpl,departmentdao]; root of factory hierarchy
19 Dec, 2012 11:25:14 AM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
INFO: Loaded JDBC driver: com.mysql.jdbc.Driver
ankur=com.nousinfo.tutorial.employee.model.Department@7eb1cc87
id=9
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at com.nousinfo.tutorial.employee.dao.impl.DepartmentDAOImpl.autoIncreament(DepartmentDAOImpl.java:113)
at com.nousinfo.tutorial.employee.dao.impl.DepartmentDAOImpl.getDepartment(DepartmentDAOImpl.java:47)
at AccessClass.main(AccessClass.java:34)