`
slam33661490
  • 浏览: 5956 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

分享自用ORM工具类。

阅读更多


添加

查询



Step 1:创建实体对象
@Table(name = "book")
public class Book {
    @Id
    private Long id;

    @Column(name = "book_name")
    private String bookName;

    public Book() {

    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

}


Step 2:创建 DatabaseHelper
public class DatabaseHelper extends SQLiteOpenHelper {
    public static final String BOOK_TABLE_NAME = "orm_book";

    public static final String DATABASE_NAME = "OrmDemo.db";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        TableUtils.createTable(db, true, Book.class);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        TableUtils.dropTable(db, Book.class);
        onCreate(db);
    }

}

Step 3:创建 DatabaseService
public class DatabaseService {
    private Context mContext;

    private DatabaseHelper mDatabaseHelper;

    private SQLiteDatabase mSQLiteDatabase;

    private AhibernateDao<Book> mBookDao;

    public DatabaseService(Context context) {
        this.mContext = context;
        this.mDatabaseHelper = new DatabaseHelper(mContext);
        this.mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();

        this.mBookDao = new AhibernateDao<Book>(this.mSQLiteDatabase);
    }

    // ===================book begin===========================
    public List<Book> getBooksByWhere(Map<String, String> where) {
        List<Book> bookList = mBookDao.queryList(Book.class, where);
        return bookList;
    }

    public List<Book> getBooks(Book book) {
        List<Book> bookList = mBookDao.queryList(book);
        return bookList;
    }

    public int addBook(Book book) {
        return mBookDao.insert(book);
    }

    public void updateBook(Book book, Map<String, String> where) {
        mBookDao.update(book, where);
    }

    public void deleteBook(Map<String, String> where) {
        mBookDao.delete(Book.class, where);
    }
    // ===================book end===============================

Step 4:创建Activity
public class OrmDemoActivity extends Activity {
    /** Called when the activity is first created. */
    DatabaseService mDatabaseService;

    Button mAddButton;

    Button mQueryButton;

    TextView mTextView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mAddButton = (Button) findViewById(R.id.add);
        mQueryButton = (Button) findViewById(R.id.query);
        mTextView = (TextView) findViewById(R.id.count);
        mDatabaseService = new DatabaseService(this);
        mAddButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Book book = new Book();
                Random ra = new Random();
                book.setId(ra.nextLong());
                book.setBookName("demo");
                mDatabaseService.addBook(book);
                Toast.makeText(OrmDemoActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
            }
        });

        mQueryButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mTextView.setText("总共有" + mDatabaseService.getBooksByWhere(null).size() + "本书");
            }
        });
    }


工具类源码地址:http://ahibernate.googlecode.com/svn/trunk/
  • 大小: 20.7 KB
  • 大小: 24.6 KB
  • 大小: 19.8 KB
分享到:
评论

相关推荐

    Winform自用小工具数据同步

    这个"Winform自用小工具数据同步"项目显然是一款基于WinForms开发的应用程序,主要用于个人数据的同步工作。让我们深入探讨一下这个话题,了解WinForms和数据同步的基本概念。 1. **Windows Forms (WinForms)**: ...

    jdbc 连接数据库封装类,可返回map,或者vo(自用)

    标题中的“jdbc 连接数据库封装类,可返回map,或者vo(自用)”指的是一个自定义的Java类库,用于简化Java应用程序通过JDBC(Java Database Connectivity)与数据库的交互。这类库通常会提供方便的方法来执行SQL...

    YouDBUtils:自用的数据库工具集

    YouDBUtils这是一个“自用”的数据库工具包,你就把它当成orm框架也行 :grinning_face_with_smiling_eyes:使用通过maven: &lt;dependency&gt; &lt;groupId&gt;... 以alibaba的Druid为基础(拒绝DBCP/C3P0),支持代码配置Druid,...

    ssh2 带jar包自用框架

    Spring还包含了许多模块,如数据访问/集成、Web、AOP、工具和测试等,覆盖了完整的应用生命周期。 Struts框架则是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它的主要任务是处理用户界面与后台...

    ssh资料(自用,学习)

    Hibernate是一个对象关系映射(ORM)工具,简化了Java应用程序与数据库的交互。它允许开发者使用面向对象的方式来处理数据,而无需关心底层SQL语句,提高了开发效率和代码可读性。 在"ssh搭建"这个文件中,可能包含了...

    销售信息管理系统 java

    4. ORM框架:如Hibernate或MyBatis,用于简化数据库操作,提高开发效率。 5. 安全框架:Spring Security或Apache Shiro,用于实现用户认证和授权。 6. 数据缓存:Redis或Memcached,用于提升高访问量场景下的系统...

    自己的SQLHelper

    同时,用户反馈和意见可以帮助进一步优化这个工具,例如增加异步操作支持,提高并发性能,或者引入ORM框架的特性,使得数据库操作更加灵活和高效。 总结来说,"自己的SQLHelper"是一个自定义的数据库操作工具,它的...

    ssh框架搭建

    这个自用框架的搭建过程涉及到多个步骤和技术点,对于初学者和开发者来说,掌握SSH框架的搭建和使用至关重要。 首先,我们来看Struts2框架。Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,...

    POJOGenerator v1.3.3 Install(可视化POJO代码生成器最终版)

    此小工具虽然GUI、功能这些都相对较弱,但自用已经足够。因此,后期可能就不再考虑 功能更新了,请见谅! 如果您有好的建议,请发送留言到作者博客:http://blog.csdn.net/CodingMouse 或发送邮件到:CodingMouse@...

    发布包.rar

    这个应用程序可能使用了Entity Framework Core(简称EF Core),这是一个针对.NET Core的轻量级、高性能的对象关系映射(ORM)框架。 【描述】".net core3.1 + efcore发布包" 明确指出该发布包是基于.NET Core 3.1...

Global site tag (gtag.js) - Google Analytics