- 浏览: 239794 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
rq2_79:
Solr DataImportHandler增量方式导入时,有 ...
solr Data Import Request Handler -
rq2_79:
http://developer.51cto.com/col/ ...
JVM加载Class过程分析 -
chenfei3306:
感谢楼主的分析,现在对hql的解析有了大体的认识了
hibernate 的HQL源码分析 -
四个石头:
...
试用log4jdbc -
dongbiying:
真让人无耐呀!你觉得是不是jar的问题呀!
RetroGuard学习指南
java 代码
- import java.beans.BeanInfo;
- import java.beans.IntrospectionException;
- import java.beans.Introspector;
- import java.beans.PropertyDescriptor;
- import java.lang.reflect.Method;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.Map;
- import org.apache.log4j.Logger;
- import com.hintsoft.chain.adminmng.vo.Loguser;
- /**
- *
- * Bean生成方法类
- *
- * @author rq2.
- * @version 1.0.0, 2007-09-14
- * @see
- * @since
- *
- */
- public class BeanClass {
- private static Logger logger = Logger
- .getLogger("BeanClass");
- /**
- * Map转换成Bean
- *
- * @param formName
- * bean的文件名称
- * @param map
- * @return
- */
- public static Object map2class(String formName, Map map) {
- Object bean = null;
- try {
- Class classType = Class.forName(formName);
- bean = classType.newInstance();
- PropertyDescriptor props[] = propertyDescriptors(classType);
- for (int i = 0; i < props.length; i++) {
- Object object = map.get(props[i].getName());
- if (object != null) {
- Method setter = props[i].getWriteMethod();
- object = processType(object, props[i].getPropertyType());
- setter.invoke(bean, new Object[] { object });
- }
- }
- } catch (Exception e) {
- logger.error("map2class:", e);
- }
- return bean;
- }
- /**
- * 类型匹配
- * @param object
- * @param propType
- * @return
- */
- private static Object processType(Object object, Class propType) {
- Object reobject = null;
- if (propType.equals(java.lang.String.class)) {
- reobject = (String) object;
- } else if (propType.equals(Integer.TYPE)
- || propType.equals(java.lang.Integer.class)) {
- reobject = new Integer((String) object);
- } else if (propType.equals(Boolean.TYPE)
- || propType.equals(java.lang.Boolean.class)) {
- reobject = new Boolean((String) object);
- } else if (propType.equals(Long.TYPE)
- || propType.equals(java.lang.Long.class)) {
- reobject = new Long((String) object);
- } else if (propType.equals(Double.TYPE)
- || propType.equals(java.lang.Double.class)) {
- reobject = new Double((String) object);
- } else if (propType.equals(Float.TYPE)
- || propType.equals(java.lang.Float.class)) {
- reobject = new Float((String) object);
- } else if (propType.equals(Short.TYPE)
- || propType.equals(java.lang.Short.class)) {
- reobject = new Short((String) object);
- } else if (propType.equals(Byte.TYPE)
- || propType.equals(java.lang.Byte.class)) {
- reobject = new Byte((String) object);
- } else if (propType.equals(java.util.Date.class)) {
- reobject = processDate(object);
- }
- return reobject;
- }
- /**
- * 日期类型匹配
- * @param object
- * @return
- */
- private static Date processDate(Object object) {
- if (object != null) {
- String dateStr = (String) object;
- dateStr = dateStr.replaceAll("-", "");
- dateStr = dateStr.replaceAll(":", "");
- dateStr = dateStr.trim();
- int year = 1900;
- int month = 1;
- int date = 1;
- int hrs = 0;
- int min = 0;
- int sec = 0;
- if (dateStr.length() >= 4) {
- year = Integer.parseInt(dateStr.substring(0, 4));
- }
- if (dateStr.length() >= 6) {
- month = Integer.parseInt(dateStr.substring(4, 6));
- }
- if (dateStr.length() >= 8) {
- date = Integer.parseInt(dateStr.substring(6, 8));
- }
- if (dateStr.length() >= 10) {
- hrs = Integer.parseInt(dateStr.substring(8, 10));
- }
- if (dateStr.length() >= 12) {
- min = Integer.parseInt(dateStr.substring(10, 12));
- }
- if (dateStr.length() >= 14) {
- sec = Integer.parseInt(dateStr.substring(12, 14));
- }
- return new java.util.Date(year, month - 1, date, hrs, min, sec);
- } else {
- return null;
- }
- }
- private static PropertyDescriptor[] propertyDescriptors(Class c) {
- BeanInfo beanInfo = null;
- try {
- beanInfo = Introspector.getBeanInfo(c);
- } catch (IntrospectionException e) {
- logger.error("PropertyDescriptor:",e);
- }
- return beanInfo.getPropertyDescriptors();
- }
- public static void main(String[] arg) {
- Map map = new HashMap();
- map.put("email", "email");
- map.put("endtm", "2007-01-11");
- map.put("password", "23232");
- map.put("roleid", "1");
- map.put("status", "3");
- Loguser user = (Loguser) map2class(
- "Loguser", map);
- System.out.println(user.getPassword());
- System.out.println(user.getEmail());
- System.out.println(user.getStatus());
- System.out.println(user.getEndtm());
- }
- }
发表评论
-
Java线程:线程状态的转换
2012-03-14 19:45 1256http://lavasoft.blog.51cto.co ... -
深入探索 高效的Java异常处理框架
2012-02-16 18:04 1280摘要:本文从Java异常最 ... -
spring ioc原理
2012-02-05 21:24 1244最近,买了本Spring入门书:spring In Actio ... -
JAVA IO 设计模式彻底分析
2012-02-05 15:15 1188一。引子(概括地介绍Java的IO) 无论是哪种编程 ... -
JAVA集合小结
2012-02-05 15:03 715AVA集合小结 下面是我自己画的,关系画得没 ... -
JVM加载Class过程分析
2012-02-05 13:45 1358我们知道, JVM是通过调用一个 Class类得 ... -
在实践中使用Jstat监控gc情况
2011-11-10 15:49 924性能测试过程中,我们该如何监控java虚拟机内存的使用情况, ... -
java内存溢出类型
2011-08-26 16:09 674一、内存溢出类型 1、java.lang.OutOfMe ... -
Quartz
2009-12-18 11:02 818"0 0 12 * * ?" 每天中午12 ... -
Apache Commons Pool
2009-11-20 18:05 1905Apache Commons Pool高级配 ... -
几种开源Java Web容器线程池的实现方法简介
2007-11-27 15:49 1345http://tenyears.cn/index.php/20 ... -
Java 接口大全、面向接口编程、什么时候使用接口。选择Java接口还是抽象类
2007-11-23 11:17 1020什么叫面向接口编程[作者:umlchina 转贴自:www.u ... -
比较分析Vector、ArrayList和hashtable hashmap数据结构
2007-11-19 13:48 1665线性表,链表,哈希表 ... -
RetroGuard学习指南
2007-09-28 13:28 39971.类包下载 http://www.retrologic.co ... -
JAVA对象序列化保存为XML文件的工具类
2007-09-13 10:04 2694java 代码 import java.bea ...
相关推荐
对于每一个表,工具会自动生成一个对应的Java Bean类,这个类包含了表中的字段作为类的属性,并为每个属性提供了getter和setter方法。此外,如果在XML配置文件中启用了相关选项,工具还会生成toString、equals和...
"bean对象生成数据表"这一技术就是利用这种对应关系,反向工程将Bean类转化为实际的数据库表结构,从而简化数据库设计和开发流程。这种方法在快速开发或者基于已有Bean模型构建数据库时非常实用。 首先,我们需要...
XlsToCode可能支持自定义模板功能,允许开发者根据需求调整生成的Bean类结构,例如添加额外的方法或注解。 6. **注意事项** - 在使用前,确保数据库连接信息正确,并且Excel文件中的表结构信息与数据库实际结构...
MyBatis反向生成bean是一项高效实用的开发工具功能,它可以帮助Java开发者快速地根据数据库表结构自动生成对应的Java Bean类,极大地提升了开发效率。在实际的开发过程中,手动创建这些Bean类可能会耗费大量时间,而...
### XMLBean生成JAR与XSD文件转换常见问题解析 #### 概述 在软件开发过程中,特别是涉及Web服务或需要处理XML数据的应用程序中,经常需要用到XMLBeans工具来将XML Schema (XSD) 文件转换成Java代码并进一步打包成...
2. **定义生成规则**:在`model.txt`这样的配置文件中,你可以设定生成Bean的规则,比如指定生成的类名、包名,以及是否需要生成getter/setter方法、构造函数、equals()和hashCode()等。 3. **模板定制**:工具通常...
很好用的一款javabean生成工具,只需要输入属性名称、类型、注释、自动生成带有注释的java实体类
例如,可以选择生成基本类型还是包装类型,是否生成equals()和hashCode()方法,以及如何处理日期字段等。 3. **注解与XML映射**:MyBatis支持使用注解或者XML来定义Mapper接口的SQL语句。生成工具可以根据选择生成...
4. 生成的代码:在“实体”目录下,你会找到生成的Java Bean类,它们包含了与数据库表字段对应的属性及get/set方法。在“DAO生成工具”目录下,会有相应的DAO接口和实现类,包含了对数据库的基本操作方法。 5. 集成...
在Java开发中,提高效率的一个重要手段是自动化生成重复性的代码,例如ORM框架中的数据访问对象(DAO)层、服务层以及实体Bean类。这里提到的"自动生成Bean代码"是指利用工具或库来根据数据库中的表结构自动生成与之...
这意味着开发者可以根据项目的具体需求定制生成Bean类的格式,比如添加特定的注解、序列化支持或者其他特定的方法。例如,该工具支持生成带MySQL注释的Bean文件,这对于理解代码和数据库之间的关系非常有帮助,尤其...
标题所提到的"根据表结构自动生成bean类和mybatis dao类"是一种自动化工具或技术,旨在提高开发效率,减少重复劳动。下面我们将详细探讨这一主题。 首先,Bean类是Java编程中的一种设计模式,主要用于封装数据。在...
通过这个工具,我们可以快速地根据数据库中的表结构生成对应的Bean类,包括成员变量、getter和setter方法,极大地提高了开发效率。 1. **JFinal框架基础** JFinal采用MVC架构,以Action为中心,实现了模型-视图-...
生成的Bean类应包含属性(fields)、getter和setter方法,以及可能的构造函数。这些类可以作为模型,用于在业务逻辑层和DAO层之间传递数据。 2. **DAO接口的生成**: DAO接口定义了对数据库的基本操作,如查询、...
如果你想节省时间和精力不防看看这个咚咚图灵 x 实体Bean生成器v1.0图灵 x 实体Bean生成器v1.0图灵 x 实体Bean生成器v1.0图灵 x 实体Bean生成器v1.0图灵 x 实体Bean生成器v1.0图灵 x 实体Bean生成器v1.0
这类工具的主要功能是解析JSON字符串,并自动生成符合Java Bean规范的类,这样开发者就可以方便地将JSON数据映射到Java对象上,进行进一步的操作。通过输入JSON格式的数据,工具会自动分析其结构,包括键值对、数组...
"根据读取数据库自动生成实体bean"的标题表明我们将讨论一种方法,通过该方法我们可以自动化这个过程。这种方法主要利用了FreeMarker模板引擎,它是一个强大的、轻量级的、基于模板的语言,用于生成任何类型的文本...
3. **Bean模板生成**:根据获取的元数据,项目将按照预设的模板生成Java Bean类。每个字段对应数据库表的一列,字段类型通常与数据库字段类型相对应。此外,还可能包含getter和setter方法,以及可能的构造函数和...
可生成java 部分原码 带入注释 如 bean ro bean bean to map sql 资源付值
标题“动态生成Java Bean测试页面”涉及到的是在Java开发中如何自动生成用于测试Bean类的网页。这个过程通常是为了提高开发效率,减少手动编写测试代码的工作量,确保Bean类的属性能够正确设置和获取。在Java世界里...