[翻译] 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 ...
随机推荐
- 转载请注明出处: https://github.com/qiu-deqing/FE-interview
转载请注明出处: https://github.com/qiu-deqing/FE-interview Table of Contents generated with DocToc FE-inter ...
- PHP cURL 使用cookie 模拟登录
cURL是什么 cURL: http://php.net/manual/zh/book.curl.php PHP 支持 Daniel Stenberg 创建的 libcurl 库,能够连接通讯各种服务 ...
- 使select文本框可编辑可选择(jQuery插件)
最近做项目中用到了这个插件,正好分享下. 1. 需要用的js包点击下载,在项目中引入该js. <script src="${pageContext.request.contextPa ...
- 【Network】TCPDUMP 详解
参考资料: https://www.baidu.com/s?ie=UTF-8&wd=tcpdump%20%E6%8C%87%E5%AE%9Aip tcpdump非常实用的抓包实例: http ...
- python 使用pymssql连接sql server数据库
python 使用pymssql连接sql server数据库 #coding=utf-8 #!/usr/bin/env python#------------------------------ ...
- Unity3D 原生Android结合UnityPlayerActivity开发遇到的问题
需求是原生Android 的Activity启动UnityPlayerActivity,按Back键后返回原来的Activity 1.在AndroidManifest.xml中的UnityPlayer ...
- Python: open和codecs.open
python的编解码: input文件(gbk, utf-8...) ----decode-----> unicode -------encode------> output文件 ...
- Apple Pay 初探
Apple Pay 一.概述 1.支付方式:Touch ID/ Passcode 2.设备要求:iPhone6以上(iphone:线上/线下 ipad:线上 watch:线下) 3.系统要求:iOS8 ...
- Flex 1046: 找不到类型,或者它不是编译时常数;1180: 调用的方法 CompPropInfo 可能未定义
导入项目之后一直报这个错误, 1046: 找不到类型,或者它不是编译时常数: 1180: 调用的方法 CompPropInfo 可能未定义 想这应该是没有把当前这个类编译进项目当中,找了半天也没有找到 ...
- 多功能前台交互效果插件superSlide
平时我们常用的"焦点图/幻灯片""Tab标签切换""图片滚动""无缝滚动"等效果要加载n个插件,又害怕代码冲突又怕不兼容 ...