数据库表自动生成Java实体类-Panda ORM拓展功能
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.Driver
url=jdbc:mysql://127.0.0.1:3306/pandaormtest?useUnicode=true&characterEncoding=utf-8
user=root
password=Pass1234
table_schema=pandaormtest
entity_package_name=panda.bank.entity
file_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 ,这样其实就解决了很大一部分的代码量。
相关文章