[翻译] ORMLite document -- Getting Started
前言
此文档翻译于第一次学习 ORMLite 框架,如果发现当中有什么不对的地方,请指正。若翻译与原文档出现任何的不相符,请以原文档为准。原则上建议学习原英文文档。
----------------------------------------------------------------------------------------------
一、入门
1.1 下载 ORMLite Jar
为了开始使用 ORMLite,您需要下载的 jar 文件。ORMLite 发布包是一个默认库,不过相关的 jar文件也可以从 Maven 仓库和 Sourceforge 获取。
通过 JDBC 连接 SQL 数据库的用户需要下载 ormlite-jdbc-4.48.jar 和 ormlite-core-4.48.jar 两个文件。对于在安卓应用中的使用来说,你需要下载 ormlite-android-4.48.jar 和 ormlite-core-4.48.jar 两个文件。在有 ORMlite 后台实现的 JDBC中 或者是 Android 中你都需要 ormlite-core 发布包。ORMLite 没有任何外部依赖,即使可能有你想用的其他选用包。请参阅外部依赖项。代码适用于 Java 5 或更高版本。
1.2 配置一个 POJO
下面是个 POJO 通过使用ORMlite 注解配置持久化到数据的例子。@DatabaseTable 注解配置 Access 类到数据库名为 accounts 的表。@DatabaseField 注解映射 Account 中的每个字段到数据库中相同名字的字段。
name 字段配置为数据库表的主键通过使用 id=true 注解字段。并且,值得一提的是一个无参的构造器是必须的,这样的话通过查询可以返回一个对象。(JPA 注释和其他方法来配置类) 的详细信息请参阅后来在手册的类安装程序信息。请参阅设置您的类。
@DatabaseTable(tableName = "accounts")
public class Account { @DatabaseField(id = true)
private String name;
@DatabaseField
private String password; public Account() {
// ORMLite needs a no-arg constructor
}
public Account(String name, String password) {
this.name = name;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
1.3 配置一个 DAO
典型的 Java 模式是将数据访问对象 (DAO) 类中的数据库操作分离。每个 DAO 未每一个需要持久化的 POJO 提供了增、删、改等类型的功能。建立一个 DAO 的简单方法是使用 DaoManager 类上的 createDao 静态方法。例如,为上面的 Accout 类创建一个 DAO 你可以这样做:
Dao<Account, String> accountDao =
DaoManager.createDao(connectionSource, Account.class);
Dao<Order, Integer> orderDao =
DaoManager.createDao(connectionSource, Order.class);
更多有关如何设置 DAOs 的信息是可用后来在手册。请参阅一节DAOs 设置了。
1.4 代码示例
此示例使用本机 Java H2 数据库创建内存中测试数据库。如果你需要运行下面的示例代码,你需要下载 H2 的 jar 文件添加到您的 ClassPath。注:Android 用户请参阅 Android的示例代码。
该代码按照下面的步骤执行。
- 创建一个 connection source,用来连接数据库。
- 为 Account 对象实例化一个 DAO。
- 在数据库中创建 accounts 表。如果表已经创建过了,这一步就不必执行了。
public class AccountApp {
public static void main(String[] args) throws Exception {
// this uses h2 by default but change to match your database
String databaseUrl = "jdbc:h2:mem:account";
// create a connection source to our database
ConnectionSource connectionSource =
new JdbcConnectionSource(databaseUrl);
// instantiate the dao
Dao<Account, String> accountDao =
DaoManager.createDao(connectionSource, Account.class);
// if you need to create the 'accounts' table make this call
TableUtils.createTable(connectionSource, Account.class);
//Once we have configured our database objects, we can use them to persist an Account to the database and query for it from the database by its ID:
// create an instance of Account
Account account = new Account();
account.setName("Jim Coakley");
// persist the account object to the database
accountDao.create(account);
// retrieve the account from the database by its id field (name)
Account account2 = accountDao.queryForId("Jim Coakley");
System.out.println("Account: " + account2.getName());
// close the connection source
connectionSource.close();
}
}
通过这些要点你应该能够开始使用 ORMLite。为了理解 ORMlite 更多有效的功能,继续学习下一章。
[翻译] ORMLite document -- Getting Started的更多相关文章
- [翻译] ORMLite document -- How to Use Part (二)
前言 此文档翻译于第一次学习 ORMLite 框架,如果发现当中有什么不对的地方,请指正.若翻译与原文档出现任何的不相符,请以原文档为准.原则上建议学习原英文文档. ----------------- ...
- [翻译] ORMLite document -- How to Use Part (一)
前言 此文档翻译于第一次学习 ORMLite 框架,如果发现当中有什么不对的地方,请指正.若翻译与原文档出现任何的不相符,请以原文档为准.原则上建议学习原英文文档. ----------------- ...
- ENGLISH抠脚童鞋的福利--GitHub汉化插件
今天在某前端群看到一个插件,激动万分啊!我就把插件使用实现的步骤分享一下! 打开chrome浏览器输入地址:chrome://extensions/ : 跳转到其他页面,点击左上角--扩展程序: 将T ...
- 在Application中集成Microsoft Translator服务之使用http获取服务
一.创建项目 首先我们来创建一个ASP.NET Application 选择时尚时尚最时尚的MVC,为了使演示的Demo更简单,这里选择无身份验证 二.创建相关类 项目需要引入之前两个类AdmAcce ...
- DevExpress ASP.NET Core Controls 2019发展蓝图(No.4)
本文主要为大家介绍DevExpress ASP.NET Core Controls 2019年的官方发展蓝图,更多精彩内容欢迎持续收藏关注哦~ [DevExpress ASP.NET Controls ...
- Umbraco(4)-Outputting the Document Type Properties(翻译文档)
翻译原文地址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/umbraco4outputting-the-document-typ ...
- Umbraco(1) - Document Types(翻译文档)
Document Types Data first nothing in = nothing out! 任何网站的第一步是创建一个"Document Type"-几次安装后你会熟悉 ...
- 翻译:Spring-Framework-Reference Document:11-Transaction Management
TUESDAY, 07 APRIL Comprehensive transaction support is the most compelling reasons to use the Spring ...
- 翻译:Spring-Framework-Reference Document:15.2-DispatcherServlet
写在前面的话: 最近被项目的代码折腾的死去活来的,其实框架也没有那么难理解,只是自己的Web基础太差,被Request和Response这一对神雕侠侣坑到泪流满面!今天捣腾了一下Spring We ...
随机推荐
- HDU 2296 Ring -----------AC自动机,其实我想说的是怎么快速打印字典序最小的路径
大冥神的代码,以后能贴的机会估计就更少了....所以本着有就贴的好习惯,= =....直接贴 #include <bits/stdc++.h> using LL = long long ; ...
- Lisp永远成不了编程主流语言
Lisp语言是第二古老的高级编程语言.许多的黑客和开发者对Lisp推崇备至,Paul Graham甚至说"编程语言现在的发展,不过刚刚赶上1958年Lisp语言的水平". ...
- JavaScript 日期选择器 Pikaday
找一些插件的过程实在太痛苦了...好容易找到一个,赶紧记录下.免得以后重复浪费时间在这上面. 插件名:Pikaday github地址:https://github.com/dbushell/Pika ...
- WebForm 分页、组合查询--2017年1月5日
sql = "select * from Commodity"; hs = new Hashtable(); if (txt_name.Text.Trim() != "& ...
- 我的LaTeX中文文档模板
中文LaTeX处理模板 环境MiTex内核 编辑环境WinEdit 源码如下: \documentclass[a4paper,12pt]{article} \usepackage{CJK} %设定字号 ...
- 手写一个allocator
似乎就像是一个计算机原理的实践.. 首先介绍一下大多数操作系统的内存架构..对于某个程序它会认为自己是独占了整个系统的所有内存在运行的这样才能方便移植,因此人们搞出了虚拟内存和物理内存的区别,于是人们 ...
- matlab绘图基础
matlab绘制条形图并分组显示: a =[1 2 3] b =[4 5 6] >> d=[a;b] d = 1 2 3 4 5 6 >> bar(d,'group') 修改横 ...
- 搭建 AngularJS+Ionic+Cordova 开发环境并运行一个demo
目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点,越来越流行. Cordova就是一个中间件,让我们把WebAPP打包成Hybrid ...
- scenejs的一点Cameras小笔记
视图模式: 一如官网所见,这个cameras 是控制的视口的东西. 他有如下4个模式 1.orbit模式 鼠标拖中物体,切换视口观察物体,鼠标滚轮变换, 放大缩小可视范围. 2.orbit/spin模 ...
- mysqldump和xtrabackup备份原理实现说明
背景: MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现. ...