import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /*** * 2014-07-21日: * oracle数据库, 表结构查询 ,字段信息查询,字段注释查询 * 表字段查询 all_tab_columns * 表字段注释查询 all_col_comments * */ public class OracleTable { private static final String DRIVER_CLASS = "oracle.jdbc.driver.OracleDriver"; private static final String DATABASE_URL = "jdbc:oracle:thin:@192.168.1.10:1521:orcl"; private static final String DATABASE_USER = "dev"; private static final String DATABASE_PASSWORD = "dev"; private static Connection con = null; public static Connection getConnection() { try { Class.forName(DRIVER_CLASS); con=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD); return con; } catch (Exception ex) { System.out.println("2:"+ex.getMessage()); } return con; } /*** * 打印test * @throws SQLException */ public static void sysoutStrTablePdmCloumns(String Table,String Owner) throws SQLException{ getConnection(); List<HashMap<String,String>> columns = new ArrayList<HashMap<String,String>>(); try{ Statement stmt = con.createStatement(); String sql= "select "+ " comments as \"Name\","+ " a.column_name \"Code\","+ " a.DATA_TYPE as \"DataType\","+ " b.comments as \"Comment\","+ " decode(c.column_name,null,'FALSE','TRUE') as \"Primary\","+ " decode(a.NULLABLE,'N','TRUE','Y','FALSE','') as \"Mandatory\","+ " '' \"sequence\""+ " from "+ " all_tab_columns a, "+ " all_col_comments b,"+ " ("+ " select a.constraint_name, a.column_name"+ " from user_cons_columns a, user_constraints b"+ " where a.constraint_name = b.constraint_name"+ " and b.constraint_type = 'P'"+ " and a.table_name = '"+Table+"'"+ " ) c"+ " where "+ " a.Table_Name=b.table_Name "+ " and a.column_name=b.column_name"+ " and a.Table_Name='"+Table+"'"+ " and a.owner=b.owner "+ " and a.owner='"+Owner+"'"+ " and a.COLUMN_NAME = c.column_name(+)" + " order by a.COLUMN_ID"; System.out.println(sql); ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ HashMap<String,String> map = new HashMap<String,String>(); map.put("Name", rs.getString("Name")); map.put("Code", rs.getString("Code")); map.put("DataType", rs.getString("DataType")); map.put("Comment", rs.getString("Comment")); map.put("Primary", rs.getString("Primary")); map.put("Mandatory", rs.getString("Mandatory")); columns.add(map); } } catch (SQLException e){ e.printStackTrace(); }finally{ con.close(); } } public static void main(String[] args) throws SQLException{ sysoutStrTablePdmCloumns("CT_INFO_CONTRACT_BORROW","DEV"); } }
相关推荐
在这个项目中,重点是MBG能生成包含字段注释的Java模型类,这对于理解数据库表字段的含义非常有帮助。 在`pom.xml`文件中,会配置MBG插件的相关参数,包括数据库连接信息(如URL、用户名、密码)、目标生成目录、...
实体类通常包含与数据库表字段相对应的属性,并且包含getter和setter方法,有时还会包括一些业务逻辑。使用这款工具,开发者无需手动编写这些属性和方法,只需几步简单的操作,即可生成规范的实体类代码,符合...
3. 实体类(Entity):代表数据库表中的记录,通常包含与表字段对应的属性。 使用MyBatis逆向生成工具时,你需要按照以下步骤操作: 1. 下载并解压“mybatis逆向生成工具”压缩包。 2. 配置工具所需的数据库连接...
实体类是业务层的对象,它们通常代表数据库中的表或视图,包含了与数据库表字段一一对应的属性。使用实体代码生成器,开发者可以快速创建出这些类,节省大量的编码时间,并减少人为错误。 1. **多数据库支持**:此...
在这个"mybatis-generator.zip"压缩包中,我们可以看到它主要针对Oracle数据库,并且能为生成的实体类添加基于表字段Comment的注释。 首先,让我们来了解一下MyBatis Generator的基本概念和工作原理。MyBatis ...
介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作典型应用和数据库应用。全书分5篇24章,共计603个实例和603个经验技巧。每个实例都...
- Java实体类:每个表对应一个实体类,属性与数据库表字段一一对应,提供了getter和setter方法,便于Java编程操作。 - Mapper接口:定义了SQL查询和更新的方法,每个方法对应XML文件中的一个SQL语句。 - Mapper ...
1. **实体类(Entity Class)**:这些类对应数据库中的表,包含表字段的属性以及getter和setter方法,用于数据的封装。 2. **Mapper接口(Mapper Interface)**:每个接口对应一个数据库表,包含了CRUD(创建、读取...
在 MBG 中,用户可以定制化生成的代码风格,包括表字段的驼峰命名转换、注释添加等。mybatis-generator-core-2.0.5 是 MBG 的一个版本,它包含了核心的生成逻辑和依赖库。 **核心功能:** 1. **自动创建 Entity 类...
"实体"在这里是指数据库中的表在程序代码中的表示,通常是一个类,包含了与表字段相对应的属性。"SQL查询"是指用于操作数据库的语言,包括选择(SELECT)、插入(INSERT)、更新(UPDATE)、删除(DELETE)等操作。...