自动生成set javabean如(rs.getInt("field"))
2011-05-06 12:47
246 查看
import java.lang.reflect.Field; import java.lang.reflect.Method; import com.UserInfo; public class AutoSetJavaBean { /** * 方法说明: * @param args * @throw */ public static void main(String[] args) { String a=""; try { a = AutoSetJavaBean.getFileds(UserInfo.class,"ui","rs"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(a); } /** * 方法说明:自动生成set javabean * @param cla 要生成的类 * @param alias 类得别名 * @param rs resultSet别名 * @return * @throws Exception * @throw * example * UserInfo ui= new UserInfo(); ui.setFCode(rs.getString("fCode")); ui.setFName(rs.getString("fName")); */ private static String getFileds(Class cla,String alias,String rs)throws Exception { if(cla==null){ throw new Exception("类不能为空!"); } if(null==alias||"".equals(alias)){ throw new Exception("类 别名不能为空!"); } if("".equals(rs)||null==rs){ rs="rs"; } //得到get set方法列表 Method[] meths = cla.getDeclaredMethods(); // 得到当前类字段名称 Field[] fileds = cla.getDeclaredFields(); int ix=cla.toString().lastIndexOf("."); String claStr=cla.toString().substring(ix+1,cla.toString().length()); StringBuffer sb=new StringBuffer(claStr+" "+alias+"= new "+claStr+"();"); sb.append("/r/n"); int methodLen=meths.length;//方法长度 int count=0; for (int j = 0; j < methodLen; j++) { Method method=meths[j]; String mname=method.getName(); if(mname.indexOf("set")!=-1){//只取set方法 count++; Field field = fileds[j-count]; sb.append(alias+"."); sb.append(method.getName()); sb.append("("); sb.append("rs.get"+getType(field.getType().toString())+"(/""); sb.append(field.getName()+"/")"); sb.append(");"); sb.append("/r/n"); } } return sb.toString(); } private static String getType(String types){ String type=""; if(types.indexOf("short")!=-1){ type="Short"; } if(types.indexOf("int")!=-1){ type="Int"; } if(types.indexOf("String")!=-1){ type="String"; } if(types.indexOf("BigDecimal")!=-1){ type="BigDecimal"; } if(types.indexOf("float")!=-1){ type="Float"; } if(types.indexOf("double")!=-1){ type="Double"; } return type; } }
相关文章推荐
- java读取数据库指定表,生成bean,获取主键,自动生成get、set方法
- java 代码自动生成getAndset
- Java开发工具_Eclipse中构造方法和get_set方法的自动生成
- java实体自动生成get、set方法包
- 根据库表结构自动生成java实体类(生成规范的变量及get/set方法).
- myeclipse自动生成javabean
- MyBatis自动生成Java/C#的Bean(Entity)的等价MYSQL实现函数
- 定义一个以is开头的全局变量利用IDEA的Getter and Setter自动生成get跟set方法出现的问题
- 属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter
- lombok自动生成set,get,方法
- vs 自动生成get和set方法
- javaBean=====jsp标签之<jsp:setProperty> <jsp:getProperty>
- eclipse之自动为变量生成Get/Set函数
- Eclipse用法和技巧七:自动生成get和set方法2 .
- 利用Excel的vba脚本根据数据库表结构自动生成java的action,bean,dao,mode,service,xml,sql,jsp等
- vs2008自动生成set/get方法
- IDEA中自动生成get/set的方式
- 利用Mybatis-generator自动生成java-bean和dao和mapper.xml
- 关于javaBean中boolean类型变量的set和get