[翻译] 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 ...
随机推荐
- CSS3使用Font Awesome字体图标的控件样例(按钮,工具栏,输入框)
按钮上加入font awesome图标,用原生的input button标签无法实现,查看网上的只能通过<a><li></li></a>实现此功能,通过 ...
- MySQL索引类型总结和使用技巧以及注意事项
索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable ...
- Set集合的使用
#include<iostream> #include<set> using namespace std; typedef struct { int i,j; char s; ...
- java基础 绘图技术.坦克大战 之java绘图坐标体系(一)
坐标体系介绍 下图说明了java坐标体系.坐标原点位于左上角,以像素为单位,像素是计算机屏幕上最小的显示单位.在java的坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素:第二个 ...
- Angularjs2 入门
1.创建文件夹 mkdir angular2-app cd angular2-app 2.配置Typescript 需要通过一些特殊的设置来指导Typesript进行编译.新建一个 tsconfig. ...
- BZOJ4318——OSU!
1.题意:一个序列,连续的一段1对得分具有贡献,那么问期望得分 2.分析:一道裸的期望dp,那么新加入一个1,对答案的贡献为 直接暴力算出期望的平方和期望,每次dp的时候更新一下就好了 #includ ...
- CAIN怎么嗅探路由密码
Cain & Abel 是由Oxid.it开发的一个针对Microsoft操作系统的免费口令恢复工具.号称穷人使用的L0phtcrack.它的功能十分强大,可以网络嗅探,网络欺骗,破解加密口令 ...
- Android app AOP添加埋点技术总结
目标:通过面向切面编程来实现对源代码无侵入的埋点. 方式 能力 缺点 学习曲线 XPosed 运行期hook 能hook自己应用进程的方法: 能hook别的应用的方法: 能hook系统方法 ...
- canvas画圆(一)
仿第一次效果
- C#数字日期装换为中文日期
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...