Android通过jdbc连接数据库问题

Android通过jdbc连接数据库问题,第1张

jdbc和连接池对于你这个场景来说,都足够,既然用spring管理了,建议还是使用连接池,另外,spring自身没有实现连接池,一般都是对第三方连接池的包装,常见的有C3P0,dbcp以及最近比较流行的boneCP等,这几个配置都差不多太多,以boneCP为例:

<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"

destroy-method="close">

<property name="driverClass" value="${jdbc.driverClass}" />

<property name="jdbcUrl" value="${jdbc.url}" />

<property name="username" value="${jdbc.user}" />

<property name="password" value="${jdbc.password}" />

<property name="idleConnectionTestPeriod" value="60" />

<property name="idleMaxAge" value="240" />

<property name="maxConnectionsPerPartition" value="30" />

<property name="minConnectionsPerPartition" value="10" />

<property name="partitionCount" value="2" />

<property name="acquireIncrement" value="5" />

<property name="statementsCacheSize" value="100" />

<property name="releaseHelperThreads" value="3" />

</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

<property name="dataSource" ref="dataSource" />

</bean>

这种方式通常连接一个外部的数据库,第一个参数就是数据库文件,这个数据库不是当前项目中生成的,通常放在项目的Assets目录下,当然也可以在手机内,如上面参数那个目录,前提是那个文件存在且你的程序有访问权限。

另一种使用数据库的方式是,自己创建数据库并创建相应的数据库表,参考下面的代码:

public class DatabaseHelper extends SQLiteOpenHelper {

//构造,调用父类构造,数据库名字,版本号(传入更大的版本号可以让数据库升级,onUpgrade被调用)

public DatabaseHelper(Context context) {

super(context, DatabaseConstant.DATABASE_NAME, null, DatabaseConstant.DATABASE_VERSION)

}

//数据库创建时调用,里面执行表创建语句.

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL(createVoucherTable())

}

//数据库升级时调用,先删除旧表,在调用onCreate创建表.

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL("DROP TABLE IF EXISTS " + DatabaseConstant.TABLE_NAME)

onCreate(db)

}

//生成 创建表的SQL语句

private String createVoucherTable() {

StringBuffer sb = new StringBuffer()

sb.append(" CREATE TABLE ").append(DatabaseConstant.TABLE_NAME).append("( ").append(“ID”)

.append(" TEXT PRIMARY KEY, ")

.append(“USER_ID”).append(" INTEGER, ").append(“SMS_CONTENT”).append(" TEXT ) ")

return sb.toString()

}

} 继承SQLiteOpenHelper并实现里面的方法.

之后:

//得到数据库助手类

helper

=

new

DatabaseHelper(context)

//通过助手类,打开一个可读写的数据库连接

SQLiteDatabase

database

=

helper.getReadableDatabase()

//查询表中所有记录

database.query(DatabaseConstant.TABLE_NAME,

null,

null,

null,

null,

null,

null)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9886216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存