文章描述:主要说明转换成SQL语句的过程。----必要信息(数据库名,表名,条件)转换成SQL语句
一些界面上数据增删改查的操作往往只需要输入一数据库名,表名,加条件就可以进行数据查询了,在这背后是怎么实现了呢,这些程序有些是使用封装的方法,有些直接输入sql语句进行操作,封装的方法最后也是将查询条件(上面输入操作)转换为SQL语句用Statement对象对应方法进行相关操作
JAVA:
而Statement对象获得SQL语句后怎么执行查询(这个不归statement管了),Statement这里是通过jdbc(或者其他驱动如:ODBC等)将SQL语句放入数据库,由数据库进行解释操作。这个速度较慢
preparedstatement:是java这边将原始的SQL语句进行解释,然后将中间码录入数据库,数据库直接执行,这样速度相比statement这种方式会更快!!!
Android:
首先通过Statement对象执行sql语句,最后获得PreparedStatement对象即指向底层对象的指针,调用底层方法执行sql语句。
个人认为android的数据库操作都是直接或间接使用PreparedStatement对象执行(底层源码我确实没有看过)
我是一条分割线^_^
在android中,提供了一些方便数据操作方法,不需要程序员写sql语句,只需要写如关键参数+条件。后面执行过程不需要我们考虑。
如android中的SQLite操作SQLiteDatabase封装很多方法
insert(String table, String nullColumnHack, ContentValues initialValues )//Convenience method for inserting a row into the database.
简单的方法对于插入一行数据到数据库中
@param table:表名
@param nullColumnHack:要强行插入null值的列名
@param initialValues :是一个HashMap存储的键值对,里面的key代表columnName列名,value代表在该行的key值所对应列要插入的值
一般情况下nullColumnHack为null
如
ContentValues contentValues = newContentValues();
String name="我是书的名字";
contentValues.put("bookName",name);
insert("book",nu