自己开发一个Java ORM框架(4)-数据库自动生成Java实体类

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 本文目录1. 导入jar包2. 编写配置文件3. 调用 panda.orm.database.EntityGenerater类的静态方法自动生成实体类代码文件

Panda ORM作为最懒ORM框架之一(低调!),提供了直接从数据库表自动生成java实体类的功能。本篇介绍使用方法,十分之简单舒畅,后续在测试完毕后将提供Panda ORM的全部源代码(包括数据库自动生成Java实体类和添加注解后自动增删改查两部分功能的源码)。


1. 导入jar包

需要导入两个,一个是pandaorm.jar,这个是Panda ORM的jar包,还有一个mysql-connector-java-5.1.39-bin.jar,是连接mysql数据库的驱动。如果是Web项目,直接放在WEB-INF/lib下即可。


2. 编写配置文件

需要在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\\

3. 调用 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如下:数据库表结构如下图:

image.png

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 ,这样其实就解决了很大一部分的代码量。


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
SQL 存储 关系型数据库
数据库开发之图形化工具以及表操作的详细解析
数据库开发之图形化工具以及表操作的详细解析
21 0
|
1月前
使用ueditor实现多图片上传案例——实体类(Shopping.java)
使用ueditor实现多图片上传案例——实体类(Shopping.java)
18 0
|
1月前
|
Java
java实现遍历树形菜单方法——实体类VoteTree
java实现遍历树形菜单方法——实体类VoteTree
12 0
|
24天前
|
存储 NoSQL Java
Java数据库编程指南:实现高效数据存储与访问
【4月更文挑战第2天】Java开发者必须掌握数据库编程,尤其是JDBC,它是连接数据库的标准接口。使用Spring JDBC或JPA能简化操作。选择合适的JDBC驱动,如MySQL Connector/J,对性能至关重要。最佳实践包括事务管理、防SQL注入、优化索引和数据库设计。NoSQL数据库如MongoDB也日益重要,Java有对应的驱动支持。理解这些概念和技术是构建高效数据库应用的基础。
Java数据库编程指南:实现高效数据存储与访问
|
1月前
|
Java 数据库连接
hibernate注解实体类(Dept.java)
hibernate注解实体类(Dept.java)
13 1
|
4天前
|
SQL 存储 关系型数据库
数据库开发之mysql前言以及详细解析
数据库开发之mysql前言以及详细解析
14 0
|
1月前
|
Java
java面向对象高级分层实例_实体类
java面向对象高级分层实例_实体类
10 1
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
10天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。