关系数据库 OMRLite
2015-11-11 17:42
288 查看
package com.example.ormlite; import java.sql.SQLException; import java.util.List; import com.j256.ormlite.dao.Dao; import com.j256.ormlite.dao.ForeignCollection; import com.j256.ormlite.field.ForeignCollectionField; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity { private Dao<Student,Integer> mUserDao; private Dao<AClass,Integer> mClassDao; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ORMLiteDatabaseHelper mDatabaseHelper = ORMLiteDatabaseHelper.getInstance(this); mUserDao = mDatabaseHelper.getUserDao(); mClassDao =mDatabaseHelper.getClassDao(); //创建一个班 for (int j = 0; j < 3; j++) { AClass ac1= new AClass(); ac1.class_id = j; ac1.name=j+"班"; try { mClassDao.createIfNotExists(ac1); } catch (Exception e1) { e1.printStackTrace(); } //创建5个学生并且挂接到1班 int start=j*5; for (int i = j*3; i < j*3+5; i++) { Student user = new Student(); user.student_id = i; user.name = "周"+i; user.age = 18+i; user.sex = "男"; //开始挂接到1班 user.aclass = ac1; try { mUserDao.createOrUpdate(user); } catch (SQLException e) { } } } //输出结果 try { AClass cls1 = mClassDao.queryForId(1); ForeignCollection<Student> students = cls1.student; for (Student user : students) { Log.d("学生", user.name + "," + user.age + "," + user.aclass.name+","+user.sex); } } catch (Exception e) { e.printStackTrace(); } } } /*private void queryAllData() { Log.d("查询结果,开始", "********************"); List<Student> users = null; // 全局查询 try { users = mUserDao.queryForAll(); } catch (Exception e) { e.printStackTrace(); } for (Student user : users) { Log.d("数据库数据", user.student_id + "," + user.name + "," + user.age + "," + user.sex); } Log.d("查询结果,结束", "******************"); } }*/
package com.example.ormlite; import java.sql.SQLException; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.util.Log; import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper; import com.j256.ormlite.dao.Dao; import com.j256.ormlite.support.ConnectionSource; import com.j256.ormlite.table.TableUtils; public class ORMLiteDatabaseHelper extends OrmLiteSqliteOpenHelper{ private static ORMLiteDatabaseHelper mDatabaseHelper = null; private final static String DataBase_NAME = "ormlite.db"; private final static int DataBase_VERSION = 1; private Dao<Student, Integer> mStudentDao = null; private Dao<AClass, Integer> mClassDao = null; public ORMLiteDatabaseHelper(Context context, String databaseName, CursorFactory factory, int databaseVersion) { super(context, databaseName, factory,databaseVersion); } public static ORMLiteDatabaseHelper getInstance(Context context){ if(mDatabaseHelper == null){ mDatabaseHelper = new ORMLiteDatabaseHelper(context, DataBase_NAME, null, DataBase_VERSION); } return mDatabaseHelper; } @Override public void onCreate(SQLiteDatabase arg0, ConnectionSource connectionSource) { Log.d(this.getClass().getName(), "ORMLite数据库-> onCreate"); try { TableUtils.createTableIfNotExists(connectionSource, Student.class); TableUtils.createTableIfNotExists(connectionSource, AClass.class); } catch (SQLException e) { e.printStackTrace(); } } @Override public void onUpgrade(SQLiteDatabase database, ConnectionSource arg1, int arg2, int arg3) { } public Dao<AClass, Integer> getClassDao() { if (mClassDao == null) { try { mClassDao = getDao(AClass.class); } catch (SQLException e) { e.printStackTrace(); } } return mClassDao; } public Dao<Student,Integer>getUserDao(){ if(mStudentDao == null){ try { mStudentDao = getDao(Student.class); } catch (SQLException e) { e.printStackTrace(); } } return mStudentDao; } @Override public void close() { super.close(); mClassDao = null; mStudentDao = null; } }
package com.example.ormlite; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; @DatabaseTable(tableName = "users") public class Student { public Student(){ } @DatabaseField(id = true,columnName = "student_id") public int student_id; @DatabaseField(columnName = "name") public String name; @DatabaseField(columnName = "age") public int age; @DatabaseField(columnName = "sex") public String sex; @DatabaseField(foreign = true,foreignAutoRefresh = true) public AClass aclass; }
package com.example.ormlite; import com.j256.ormlite.dao.ForeignCollection; import com.j256.ormlite.field.DataType; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.field.ForeignCollectionField; import com.j256.ormlite.table.DatabaseTable; @DatabaseTable(tableName = "classes") public class AClass { @DatabaseField(id = true) public int class_id; @DatabaseField(dataType = DataType.STRING) public String name; @ForeignCollectionField(eager = false) public ForeignCollection<Student> student = null; public AClass(){ } }
相关文章推荐
- Oracle 存储过程 无法编译 解决方法(转)
- 在SQL Server中为什么不建议使用Not In子查询
- Mysql中文乱码问题完美解决方案(包括建库、导入数据、网页)
- 数据库操作(使用FMDB)
- SQL异常:ORA-00936: missing expression
- MySQL存储引擎--MyISAM与InnoDB区别
- SQL中的join连接
- Oracle12c中scott用户的创建方法
- 数据库封装Dbutil类
- MySQL "replace into" 的坑
- sql事务(Transaction)用法介绍及回滚实例
- SQL Server误区30日谈 第26天 SQL Server中存在真正的“事务嵌套”
- Oracle 10g 解决wm_concat函数超过4000报错问题
- Oracle blob demo
- sql语句的执行顺序
- hive 安装mysql作为元数据
- hive 安装mysql作为元数据
- Oracle BLOB内容批量导出
- Centos6.5下安装Memcached完整示例
- SQL Server 历届版本新特性