在eclipse中需要自定义创建表工具类:
比如;
1、写一个DBHelper继承自SQLiteOpenHelper
public class DBHelper extends SQLiteOpenHelper{
//数据库的版本
private final static int DB_VERSION = 1;
//数据库名
private final static String DB_NAME = "ladengdb";
private Context mContext;
//我们直接用super调用父类的构造方法,这样我们在实例化DBHelper的时候只需要传入一个上下文参数就可以了
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
thismContext = context;
}
//数据库不存在的时候,调用这个方法
@Override
public void onCreate(SQLiteDatabase db) {
createTables(db,0,0);
}
//版本号发生变化的时候,调用这个方法
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//1删除原来的表
//2调用onCreate重新创建数据库
}
/
建表语句,只需要一行就能建一个表
/
private void createTables(SQLiteDatabase db, int oldVersion, int newVersion) {
//createTable(Movieclass)返回的是sql建表语句
//dbexecSQL(sql) 执行这条建表语句
dbexecSQL(createTable(Movieclass));
}
/
如果没传表明的话,默认使用类名作为表明
@param clazz 实体类
@return
/
private <T> String createTable(Class<T> clazz){
return createTable(clazz, clazzgetSimpleName());
}
/
真正的建表方法
@param clazz 实体类
@param tableName 表明
@return sql建表语句
/
private <T> String createTable(Class<T> clazz , String tableName){
//实例化一个容器,用来拼接sql语句
StringBuffer sBuffer = new StringBuffer();
//sql语句,第一个字段为_ID 主键自增,这是通用的,所以直接写死
sBufferappend("create table if not exists "+ tableName + " "+
"(_ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,");
//得到实体类中所有的公有属性
Field[] fields = clazzgetFields();
//遍历所有的公有属性
for(Field field : fields){
//如果属性不为_id的话,说明是新的字段
if (!fieldgetName()equals("_id")) {
//得到属性的基本数据类型
String type = fieldgetType()getSimpleName();
//如果是String类型的属性,就把字段类型设置为TEXT
if (typeequals("String")) {
sBufferappend(fieldgetName()+" TEXT,");
//如果是int类型的属性,就把字段类型设置为INTEGER
}else if (typeequals("int")) {
sBufferappend(fieldgetName()+" INTEGER,");
}
}
}
//将最后的逗号删除
sBufferdeleteCharAt(sBufferlength()-1);
//替换成); 表明sql语句结束
sBufferappend(");");
//返回这条sql语句
return sBuffertoString();
}
}
2、Movie实体类,实体类中的属性就是表中的字段
public class Movie {
public String title;
public int rating;
public String year;
public String genre;
public String country;
public int price;
}
3、在MainActivityjava中添加如下代码
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutactivity_main);
//实例化我们的DBHelper
DBHelper dbHelper = new DBHelper(this);
//调用了这个方法后,DBHelper中的onCreate才会执行
dbHelpergetReadableDatabase();
}
}
4、创建结果:
1、应该是一样的,data source 也就是数据源的意思,正常数据源也就是在指数据库。
2、不过不管是database还是data source 都不是很建议使用,因为比较一般,还是建议使用专业的数据库工具比较方便。比如 oracle 数据库的话就建议使用 plsql工具。mysql 的话工具更多,官方也提供一套工具包。
3、希望对你有帮助。
工具:
eclipse
方法:
步骤
1在工程中新建InsertTestjava类
2向数据库中插入数据总共分为4步
1获取数据库连接
2准备sql语句
3执行插入
31使用connection的createStatement()方法获取Statement对象
32调用Statement对象的executeUpdate(sql)方法执行插入 *** 作
4关闭数据库连接
3完成后的代码为:
4在Main方法中添加测试代码
5执行结果
6数据库中的数据为
7以上代码只能作为学习使用,正式开发中还要进行一些异常处理,如下代码
8此方法为 JDBC的插入,更新,删除的通用方法,
替换SQL为更新sql
9执行结果,数据库已经更新掉了
10把SQL替换为删除 *** 作
11执行后的数据库状态
以上就是关于如何在Eclipse环境下,使用SQLite数据库中建立多个表全部的内容,包括:如何在Eclipse环境下,使用SQLite数据库中建立多个表、java,eclipse,编程中的database explorer找不到,怎么办、怎么在eclipse把数据插入到数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)