当前位置:首页 » 数据仓库 » 数据库操作工具类
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库操作工具类

发布时间: 2022-08-17 23:14:14

⑴ 连接数据库时,通常会把重复代码提取出来封装到工具类中,作用是

摘要 您好,努力解答小主疑惑的饭小希很高兴为您服务,感谢茫茫人海中选择我为你解答!

⑵ android 数据库一般放在工具类中吗

对。都是使用sqliteOpenHelper类。下面是sqlite增删改查的例子。例子来自android学习手册,里面有源码。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳



我们大家都知道Android平台提供给我们一个数据库辅助类来创建或打开数据库,这个辅助类继承自SQLiteOpenHelper类,在该类的构造器中,调用Context中的方法创建并打开一个指定名称的数据库对象。继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个方法。

onCreate(SQLiteDatabase db) : 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行。
onUpgrade(SQLiteDatabse dv, int oldVersion,int new Version):当打开数据库时传入的版本号与当前的版本号不同时会调用该方法。

除了上述两个必须要实现的方法外,还可以选择性地实现onOpen 方法,该方法会在每次打开数据库时被调用。

SQLiteOpenHelper 类的基本用法是:当需要创建或打开一个数据库并获得数据库对象时,首先根据指定的文件名创建一个辅助对象,然后调用该对象的getWritableDatabase 或 getReadableDatabase方法 获得SQLiteDatabase 对象。

调用getReadableDatabase 方法返回的并不总是只读数据库对象,一般来说该方法和getWriteableDatabase 方法的返回情况相同,只有在数据库仅开放只读权限或磁盘已满时才会返回一个只读的数据库对象。

下面通过一个简单的小例子说明SQLiteOpenDatabase的用法,其中包括创建数据库、插入数据、更新 、查询等等,我们将查询后获取到的数据显示到TextView上,看一下运行后的效果。MySQLiteHelper

Java代码

packagexiaohang.meng;

importandroid.content.Context;

importandroid.database.sqlite.SQLiteDatabase;

importandroid.database.sqlite.SQLiteOpenHelper;

importandroid.database.sqlite.SQLiteDatabase.CursorFactory;

{

//调用父类构造器

publicMySQLiteHelper(Contextcontext,Stringname,CursorFactoryfactory,

intversion){

super(context,name,factory,version);

}

/**

*当数据库首次创建时执行该方法,一般将创建表等初始化操作放在该方法中执行.

*重写onCreate方法,调用execSQL方法创建表

**/

@Override

publicvoidonCreate(SQLiteDatabasedb){

db.execSQL("createtableifnotexistshero_info("

+"idintegerprimarykey,"

+"namevarchar,"

+"levelinteger)");

}

//当打开数据库时传入的版本号与当前的版本号不同时会调用该方法

@Override

publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){

}

}



Activity01

Java代码

packagexiaohang.meng;

importandroid.app.Activity;

importandroid.content.ContentValues;

importandroid.database.Cursor;

importandroid.database.sqlite.SQLiteDatabase;

importandroid.graphics.Color;

importandroid.os.Bundle;

importandroid.widget.TextView;

{

MySQLiteHelpermyHelper;

TextViewtv;

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

tv=(TextView)findViewById(R.id.tv);

//创建MySQLiteOpenHelper辅助类对象

myHelper=newMySQLiteHelper(this,"my.db",null,1);

//向数据库中插入和更新数据

insertAndUpdateData(myHelper);

//查询数据

Stringresult=queryData(myHelper);

tv.setTextColor(Color.RED);

tv.setTextSize(20.0f);

tv.setText("名字 等级 "+result);

}

//向数据库中插入和更新数据

publicvoidinsertAndUpdateData(MySQLiteHelpermyHelper){

//获取数据库对象

SQLiteDatabasedb=myHelper.getWritableDatabase();

//使用execSQL方法向表中插入数据

db.execSQL("insertintohero_info(name,level)values('bb',0)");

//使用insert方法向表中插入数据

ContentValuesvalues=newContentValues();

values.put("name","xh");

values.put("level",5);

//调用方法插入数据

db.insert("hero_info","id",values);

//使用update方法更新表中的数据

//清空ContentValues对象

values.clear();

values.put("name","xh");

values.put("level",10);

//更新xh的level为10

db.update("hero_info",values,"level=5",null);

//关闭SQLiteDatabase对象

db.close();

}

//从数据库中查询数据

publicStringqueryData(MySQLiteHelpermyHelper){

Stringresult="";

//获得数据库对象

SQLiteDatabasedb=myHelper.getReadableDatabase();

//查询表中的数据

Cursorcursor=db.query("hero_info",null,null,null,null,null,"idasc");

//获取name列的索引

intnameIndex=cursor.getColumnIndex("name");

//获取level列的索引

intlevelIndex=cursor.getColumnIndex("level");

for(cursor.moveToFirst();!(cursor.isAfterLast());cursor.moveToNext()){

result=result+cursor.getString(nameIndex)+" ";

result=result+cursor.getInt(levelIndex)+" ";

}

cursor.close();//关闭结果集

db.close();//关闭数据库对象

returnresult;

}

@Override

protectedvoidonDestroy(){

SQLiteDatabasedb=myHelper.getWritableDatabase();//获取数据库对象

//删除hero_info表中所有的数据传入1表示删除所有行------>点击back按钮

db.delete("hero_info","1",null);

super.onDestroy();

}

}

⑶ java.lang.NullPointerException的错误!!

getConn();方法在连接失败的时候会返回一个空

下面的那个if(conn==null)在这个情况下是没有用的,你
getConn();方法都try掉了所有的Exception

try {
if(conn==null)
getConn();
if(st==null)
st=conn.createStatement();// 执行sql语句的对象
ret = st.executeUpdate(sql);// 执行SQL语句对数据表进行操作,变量ret存放对表修改了多少行
} catch (Exception e) {
System.out.println("执行executeUpdate(sql)方法出错:" + sql);
e.printStackTrace();// 打印出错误原因
}
return ret;
}

⑷ java数据库连接数据库工具类怎么写

1 将数据库的JDBC驱动加载到classpath中,在基于JAVAEE的WEB应用实际开发过程中,通常要把目标数据库产品的JDBC驱动复制到WEB-INF/lib下.
2 加载JDBC驱动,并将其注册到DriverManager中,下面是一些主流数据库的JDBC驱动加裁注册的代码:
//Oracle8/8i/9iO数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//Sql Server7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//DB2数据库
Class.froName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
//Informix数据库
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
//Sybase数据库
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
//MySQL数据库
Class.forName("com.mysql.jdbc.Driver").newInstance();
//PostgreSQL数据库
Class.forNaem("org.postgresql.Driver").newInstance();
3 建立数据库连接,取得Connection对象.例如:
//Oracle8/8i/9i数据库(thin模式)
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="scott";
String password="tiger";
Connection conn=DriverManager.getConnection(url,user,password);

⑸ JSP怎么使用数据库工具类

jsp里面可以import类,把数据库连接需要的类引入,用<%数据库连接代码%>标签写

⑹ 微信公众平台怎么添加自定义菜单用java代码实现

解决web乱码问题工具类
cookie工具类
session工具类
Servlet文件上传工具类
SpringMVC文件上传工具类
数据库操作工具类
windows进程工具类
Time工具类
常用正则表达式工具类

⑺ oracle工具类怎么实现连接数据库

1. Java.sql包中定义的常用的基本的JDBC API:
类DriverManager-管理一组JDBC 驱动程序的基本服务
接口Connection-获得与特定数据库的连接
接口Statement-用于执行静态SQL 语句并返回它所生成结果的对象
接口ResultSet-表示数据库结果集的数据表,通常通过执行查询数据库的语句生成
类SQLException-有关数据库操作的异常
2.Oracle 数据库的JDBC 驱动程序文件“classes14.jar”(Oracle 官方网站下载),导入jar包
此版本的Oracle版本为10g,以测试用户scoot为例
3.定义私有变量

[java] view plain print?
<span style="white-space:pre"> </span>private static Connection conn;
private static String userName = "scott";
private static String userPwd = "tiger";
private static ResultSet rs;

⑻ 用单例模式定义一个访问数据库的工具类DbUtil,并调用

1单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等2单例的缺点就是不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态。用单例模式,就是在适用其优点的状态下使用。