基于注解和反射的Java ORM框架(4)-数据库自动生成Java实体类
来源:互联网 发布:cron表达式生成器源码 编辑:程序博客网 时间:2024/04/30 15:47
Panda ORM作为最懒ORM框架之一(低调!),提供了直接从数据库表自动生成java实体类的功能。本篇介绍使用方法,十分之简单舒畅,后续在测试完毕后将提供Panda ORM的全部源代码(包括数据库自动生成Java实体类和添加注解后自动增删改查两部分功能的源码)。
一,导入jar包
需要导入两个,一个是pandaorm.jar,这个是Panda ORM的jar包,还有一个mysql-connector-java-5.1.39-bin.jar,是连接mysql数据库的驱动。如果是Web项目,直接放在WEB-INF/lib下即可。
二,编写配置文件
需要在src目录下新建config.properties配置文件,并配置如下七个参数。
前四个参数用于连接数据库,table_schema表示要产生数据表对应实体的数据库名,entity_package_name表示生成实体的包名,file_save_path表示保存实体java类的目录,注意目录要用\转义!
driver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/pandaormtest?useUnicode=true&characterEncoding=utf-8user=rootpassword=Pass1234table_schema=pandaormtestentity_package_name=panda.bank.entityfile_save_path=D:\\Java\\AutoEntity\\
第三步,调用 panda.orm.database.EntityGenerater类的静态方法自动生成实体类代码文件。
非常简单,新建一个Test类,代码如下:
public class Test { public static void main(String[] args) { panda.orm.database.EntityGenerater.generateClasses(); }}
运行之后,自动在file_save_path=D:\\Java\\AutoEntity\\
目录下生成了两个java类文件user.java和role.java如下:数据库表结构如下图:
package panda.bank.entity;/*** Mon Mar 20 16:03:58 CST 2017* Panda ORM自动生成: user 实体类*/ public class User{ private String userId; private String userPassword; private String userName; private String userRole; public String getUserId(){ return userId; } public void setUserId(String userId){ this.userId=userId; } public String getUserPassword(){ return userPassword; } public void setUserPassword(String userPassword){ this.userPassword=userPassword; } public String getUserName(){ return userName; } public void setUserName(String userName){ this.userName=userName; } public String getUserRole(){ return userRole; } public void setUserRole(String userRole){ this.userRole=userRole; }}package panda.bank.entity;/*** Mon Mar 20 16:03:58 CST 2017* Panda ORM自动生成: role 实体类*/ public class Role{ private String roleName; private String roleId; public String getRoleName(){ return roleName; } public void setRoleName(String roleName){ this.roleName=roleName; } public String getRoleId(){ return roleId; } public void setRoleId(String roleId){ this.roleId=roleId; }}
OK ,这样其实就解决了很大一部分的代码量。
0 0
- 基于注解和反射的Java ORM框架(4)-数据库自动生成Java实体类
- 基于注解和反射的Java ORM框架(6)-数据库自动生成Java实体类源码
- 基于注解和反射的Java ORM框架(1)-通过注解描述映射关系
- 基于注解和反射的Java ORM框架(2)-设计理念
- 基于注解和反射的Java ORM框架(3)-极速CRUD操作
- 基于注解和反射的Java ORM框架(5)-CRUD操作源码
- java 从数据库表反射出实体类,自动生成实体类
- JAVA 数据表反射实体类,自动生成实体类
- 基于反射和注解的Bean对应数据库表的自动生成
- MyEclipse如何自动生成数据库表的Java实体类
- Java根据数据库表格自动生成java实体类
- 利用sqlacodegen自动生成ORM实体类
- 反射+枚举+freemarker,自动生成实体类,自动建表建索引(二)之建表建索引,注解和DatabaseMetaData 获取信息
- 利用反射和注解模拟ORM框架中的自动建表功能
- 如何在SpringMVC框架中利用Java反射机制和Javassist实现Java对象、属性、注解的动态创建生成
- 在Eclipse中从数据库表自动生成hibernate的java实体类
- 在Eclipse中从数据库表自动生成hibernate的java实体类
- java的反射和注解
- 2017年校招全国统一模拟笔试(第一场)编程题集合——DNA配对
- windows下使用pip安装python模块时报错总结
- javascript中的‘null’与‘undefined’的区分
- Android OkHttp的使用心得
- mysql数据库索引学习总结
- 基于注解和反射的Java ORM框架(4)-数据库自动生成Java实体类
- js/jQuery毫秒数转换成日期格式
- 16年几个月汽车管理
- React Native之React速学教程(中)
- ajax回调函数中如何获取action中的数据
- kafka删除新建topic
- python中的extend和append的区别
- linux 下安装 mysql
- window.open()打开页面的几种方法