浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

OrmLite - Lightweight Java ORM Supports Android and SQLite

OrmLite - Lightweight Java ORM Supports Android and SQLite

ORM Lite

Object Relational Mapping Lite (ORM Lite) provides some lightweight functionality for persisting Java objects to SQL databases while avoiding the complexity and overhead of more standard ORM packages. It supports a number of SQL databases using JDBC and also supports Sqlite with native calls to Android OS database APIs. Documentation about how to configure ORMLite for Android specifically is available in the manual.

Please contact me with any feedback or questions about Android support. See the home page for more details.

ORMLite provides the following features:

  • Setup your classes by simply adding Java annotations.
  • Powerful abstract Database Access Object (DAO) classes.
  • Flexible QueryBuilder to easily construct simple and complex queries.
  • Supports MySQL, Postgres, Microsoft SQL Server, H2, Derby, HSQLDB, and Sqlite and can be extended to additional databases relatively easily.
  • Provisional support for DB2, Oracle, ODBC, and Netezza. Contact the author if your database type is not supported.
  • Handles "compiled" SQL statements for repetitive query tasks.
  • Supports "foreign" objects with the class field being the object but an id stored in the database table.
  • Basic support for database transactions.
  • Auto generates SQL to create and drop database tables.
  • Spring configuration support for DOAs and class configurations.
  • Support for configuring of tables and fields without annotations.

Use Annotations to Mark Classes to be Persisted

To use the package you add the @DatabaseTable annotation to the top of each class and a @DatabaseField annotation to each of the fields in the class that are to be persisted to the database. For example:

@DatabaseTable(tableName = "accounts") public class Account { @DatabaseField(id = true) private String name; @DatabaseField(canBeNull = false) private String password; ... Account() { // all persisted classes must define a no-arg constructor with at least package visibility } ... }

Classes can also be configured with javax.persistence annotations, Java calls, or Spring wiring. For more details, see the online documentation.

Sample Code Example

The ORMLite Android code includes base activity, service, and tab classes to help create and manage your database connections and DAOs. The following is a quick code example to give you a taste on how to use the package.

// you get the SQLiteOpenHelper from your Android Activity ConnectionSource connectionSource = new AndroidConnectionSource(sqliteOpenHelper); // instantiate the DAO to handle Account with String id Dao<Account,String> accountDao = BaseDaoImpl.createDao(connectionSource, Account.class); // if you need to create the 'accounts' table make this call TableUtils.createTable(connectionSource, Account.class); // create an instance of Account String name = "Jim Smith"; Account account = new Account(name, "_secret"); // persist the account object to the database // it should return 1 for the 1 row inserted if (accountDao.create(account) != 1) { throw new Exception("Failure adding account"); } // retrieve the account Account account2 = accountDao.queryForId(name); // show its password System.out.println("Account: " + account2.getPassword()); // close the connection source connectionSource.close();

Free Spam Protection   ORMLite Java ORM   Android ORM   EV For Sale, Lexington, MA   Thornburgh 80th Birthday Event  

posted on 2012-12-01 15:05  lexus  阅读(362)  评论(0编辑  收藏  举报