ormLite增删改查(和查绑定事务)

本文介绍了一个使用 Ormlite 在 Android 上实现数据库操作的例子。内容包括数据库的创建、基本的 CRUD 操作以及如何在 Ormlite 中管理事务。通过具体的 Java 代码展示了如何进行数据的增删查改等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 创建数据库创建表

public class OrmliteDBHelper extends OrmLiteSqliteOpenHelper {
private HashMap<String,Dao> daoMap = new HashMap<>();
public OrmliteDBHelper(Context context) { super(context, "demo1.db", null, 1); } @Override public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) { try { TableUtils.createTable(connectionSource,User.class); } catch (SQLException e) { e.printStackTrace(); } } @Override public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) { } public Dao getDao(Class clazz){
Dao dao = daoMap.get(clazz.getSimpleName());
try {
            if (dao == null){
                dao = super.getDao(clazz);
                daoMap.put(clazz.getSimpleName(),dao);
            }
            return dao;
} catch (SQLException e) { e.printStackTrace(); } return null; }}2 

增,删,查,绑定事务方法

                          1插入方法

private void insert() {
    for (int i = 0; i < 10; i++) {
        User user = new User();
        user.username = "aaa"+i;
        try {
            dao.create(user);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

                       2删除方法

private void deleteData() {
    ArrayList<User> userList = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
        User user = new User();
        user.username = "aaa"+i;
        userList.add(user);
        try {
            DeleteBuilder<User, Integer> deleteBuilder = dao.deleteBuilder();
            dao.deleteBuilder().where().eq("username", "aaa" + i);
            deleteBuilder.delete();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

                           3查询方法

private void queryData() {
    try {
        List<User> userList = dao.queryForAll();
        for (int i = 0; i < userList.size(); i++) {
            Log.i("",userList.get(i).username);
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

                            4绑定事务方法

 private void insertTransaction() {
        SQLiteDatabase db = ormliteDBHelper.getReadableDatabase();
        AndroidDatabaseConnection connection = new AndroidDatabaseConnection(db, true);
        Savepoint savepoint = null;
        try {
            //指定事务的回滚点
            savepoint = connection.setSavePoint("start");
            //告知ormlite不要默认提交事务,事务由自己管理
            connection.setAutoCommit(false);
            for (int i = 0; i < 10; i++) {
                User user = new User();
                user.username = "aaa"+i;
                try {
                    if (i == 5){
                        int a = 1/0;
                    }
                    dao.create(user);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            //提交事务
            connection.commit(savepoint);
        }catch (Exception e){
            e.printStackTrace();
            try {
                connection.rollback(savepoint);
            } catch (SQLException e1) {
                e.printStackTrace();
            }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值