GithubHelp home page GithubHelp logo

xxshutong / hsweb-easy-orm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hs-web/hsweb-easy-orm

0.0 1.0 0.0 132 KB

orm工具,支持表链接,动态指定列,动态查询条件,条件嵌套,验证器,触发器,转换器

Java 100.00%

hsweb-easy-orm's Introduction

一个简单的orm工具

数据库支持:oracle,mysql,h2

支持验证器,触发器 等可拓展功能

快速上手

核心

    Database database=...//如何创建,看下面
    //获取表
    Table table= database.getTable("s_user");
    //查询
    List data=table.createQuery().select("*").where("username","admin").list();//分页 .list(pageIndex,pageSize);
    //插入
    table.createInsert().value(data).exec();//批量插入调用 .values
    //更新
    table.createUpdate().set(data).where("id",id).exec();
    //删除
    table.createDelete().where("id",id).exec();

我已经有表了!

    SqlExecutor sqlExecutor = ....;//可继承AbstractJdbcSqlExecutor
    DatabaseMetaData databaseMetaData = new OracleDatabaseMeta();//oracle
    SimpleDatabase database = new SimpleDatabase(databaseMetaData, sqlExecutor);
    database.setTableMetaParser(new OracleTableMetaParser(sqlExecutor, "oracle_user_name"));//需要指定oracle的用户名
    Table user = database.getTable("s_user");//获取表,将自动解析数据库里的表s_user的结构,如果不存在或解析错误,将返回null

我要新建表

     SqlExecutor sqlExecutor = ....;//可继承AbstractJdbcSqlExecutor
     DatabaseMetaData databaseMetaData = new OracleDatabaseMeta();//oracle
     SimpleDatabase database = new SimpleDatabase(databaseMetaData, sqlExecutor);
     //创建表结构.在实际应用中,可通过json,xml,bean等创建
     TableMetaData metaData = new TableMetaData();
     metaData.setName("s_user");
     metaData.setAlias("user");
     FieldMetaData userName = new FieldMetaData();
     userName.setName("user_name");
     userName.setAlias("userName");
     userName.setJavaType(String.class);
     userName.setJdbcType(JDBCType.VARCHAR);
     userName.setDataType("varchar2(64)");
     metaData.addField(userName);
     //创建表
     database.createTable(metaData);
     //如果表已经存在
     //metaData.putTable(metaData);

使用验证器

     DatabaseMetaData databaseMetaData = new OracleDatabaseMeta();//oracle
     //在创建数据库定义对象的时候,自定义验证器工场类
     databaseMetaData.setValidatorFactory(yourFactory);

使用自定义返回查询结果包装器

     DatabaseMetaData databaseMetaData = new OracleDatabaseMeta();//oracle
     //在创建数据库定义对象的时候,自定义包装器工场类.不设置默认使用og.hsweb.ezorm.run.simple.wrapper.AdvancedMapWrapper 返回map结果
     databaseMetaData.setObjectWrapperFactory(yourFactory);

hsweb-easy-orm's People

Contributors

zhou-hao avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.