Android客户端服务端数据库代码展示 (安卓客户端服务端数据库源码实例)

随着移动互联网的普及,越来越多的人开始使用智能手机、平板电脑等移动设备进行网络活动,而在这些移动设备中,Android是更受欢迎的一个系统。因此,在Android上开发应用已经成为了很多开发者的首选。而在开发过程中,数据库处理是不可或缺的一部分,今天我们就来分享一下Android客户端和服务端的数据库代码展示。

一、Android客户端数据库代码展示

1.数据库创建

在Android客户端开发中,SQLite是最常用的本地存储数据库。下面是数据库创建的代码:

“`

public class DBHelper extends SQLiteOpenHelper {

private static final String DB_NAME = “user.db”;//数据库名字

private static final int DB_VERSION = 1;//数据库版本号

public DBHelper(Context context) {

super(context, DB_NAME, null, DB_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

String createTableSql = “create table if not exists user (“

+ “_id integer primary key autoincrement,”

+ “name varchar(20) not null,”

+ “age integer not null,”

+ “gender varchar(10) not null,”

+ “phone varchar(11) not null)”;

db.execSQL(createTableSql);

}

@Override

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

String dropTableSql = “drop table if exists user”;

db.execSQL(dropTableSql);

onCreate(db);

}

}

“`

在这个示例中,我们创建了一个名为“user.db”的数据库,其中包含了一个名为“user”的表。表中有五个字段,分别是_id、name、age、gender、phone。其中_id是主键,自增;name、gender、phone都是字符串类型,不为空;age是整型,不为空。

2. 数据库操作

接下来是数据库的操作,包括查询、插入、删除、修改等。

查询操作:

“`

public List getUsers(SQLiteDatabase db) {

List userList = new ArrayList();

Cursor cursor = db.query(“user”, null, null, null, null, null, null);

while (cursor.moveToNext()) {

User user = new User();

user.setId(cursor.getInt(0));

user.setName(cursor.getString(1));

user.setAge(cursor.getInt(2));

user.setGender(cursor.getString(3));

user.setPhone(cursor.getString(4));

userList.add(user);

}

cursor.close();

return userList;

}

“`

插入操作:

“`

public long insertUser(SQLiteDatabase db, User user) {

ContentValues values = new ContentValues();

values.put(“name”, user.getName());

values.put(“age”, user.getAge());

values.put(“gender”, user.getGender());

values.put(“phone”, user.getPhone());

return db.insert(“user”, null, values);

}

“`

删除操作:

“`

public int deleteUser(SQLiteDatabase db, int id) {

return db.delete(“user”, “_id=?”, new String[]{String.valueOf(id)});

}

“`

修改操作:

“`

public int updateUser(SQLiteDatabase db, User user) {

ContentValues values = new ContentValues();

values.put(“name”, user.getName());

values.put(“age”, user.getAge());

values.put(“gender”, user.getGender());

values.put(“phone”, user.getPhone());

return db.update(“user”, values, “_id=?”, new String[]{String.valueOf(user.getId())});

}

“`

二、服务端数据库代码展示

服务端数据库一般使用MySQL或Oracle等关系型数据库,同时也可以使用NoSQL等非关系型数据库。这里我们以MySQL为例进行展示。

1.数据库创建

在MySQL中创建数据库的过程和在Android中创建SQLite数据库的过程类似。下面是一个简单的创建数据库的示例:

“`

CREATE DATABASE `user`;

“`

2.数据库表创建

在MySQL中创建表的语法如下所示:

“`

CREATE TABLE 表名 (

列名1 数据类型 [约束条件],

列名2 数据类型 [约束条件],

列名3 数据类型 [约束条件],

……

);

“`

下面是一个简单的创建用户表的示例:

“`

CREATE TABLE `user`.`user` (

`id` INT NOT NULL AUTO_INCREMENT COMMENT ‘用户id’,

`name` VARCHAR(20) NOT NULL COMMENT ‘用户姓名’,

`age` INT NOT NULL COMMENT ‘用户年龄’,

`gender` VARCHAR(10) NOT NULL COMMENT ‘用户性别’,

`phone` VARCHAR(11) NOT NULL COMMENT ‘用户号码’,

PRIMARY KEY (`id`) COMMENT ‘用户表主键’

) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT=’用户表’;

“`

在这个示例中,我们创建了一个名为“user”的表,其中包含了五个字段,分别是id、name、age、gender、phone。其中id是主键,自增;name、gender、phone都是字符串类型,不为空;age是整型,不为空。

3. 数据库操作

在服务端代码中,我们使用Java语言操作数据库。MySQL提供了官方驱动程序,我们可以通过引入mysql-connector-java.jar来使用这个驱动。下面是Java操作MySQL的示例。

查询操作:

“`

public List getUsers() {

List userList = new ArrayList();

String sql = “select * from user”;

try (

Connection conn = dataSource.getConnection();

PreparedStatement stmt = conn.prepareStatement(sql);

ResultSet rs = stmt.executeQuery();

) {

while(rs.next()) {

User user = new User();

user.setId(rs.getInt(“id”));

user.setName(rs.getString(“name”));

user.setAge(rs.getInt(“age”));

user.setGender(rs.getString(“gender”));

user.setPhone(rs.getString(“phone”));

userList.add(user);

}

} catch (SQLException e) {

e.printStackTrace();

}

return userList;

}

“`

插入操作:

“`

public int insertUser(User user) {

String sql = “insert into user(name, age, gender, phone) values(?, ?, ?, ?)”;

int rows = 0;

try (

Connection conn = dataSource.getConnection();

PreparedStatement stmt = conn.prepareStatement(sql);

) {

stmt.setString(1, user.getName());

stmt.setInt(2, user.getAge());

stmt.setString(3, user.getGender());

stmt.setString(4, user.getPhone());

rows = stmt.executeUpdate();

} catch (SQLException e) {

e.printStackTrace();

}

return rows;

}

“`

删除操作:

“`

public int deleteUser(int id) {

String sql = “delete from user where id=?”;

int rows = 0;

try (

Connection conn = dataSource.getConnection();

PreparedStatement stmt = conn.prepareStatement(sql);

) {

stmt.setInt(1, id);

rows = stmt.executeUpdate();

} catch (SQLException e) {

e.printStackTrace();

}

return rows;

}

“`

修改操作:

“`

public int updateUser(User user) {

String sql = “update user set name=?, age=?, gender=?, phone=? where id=?”;

int rows = 0;

try (

Connection conn = dataSource.getConnection();

PreparedStatement stmt = conn.prepareStatement(sql);

) {

stmt.setString(1, user.getName());

stmt.setInt(2, user.getAge());

stmt.setString(3, user.getGender());

stmt.setString(4, user.getPhone());

stmt.setInt(5, user.getId());

rows = stmt.executeUpdate();

} catch (SQLException e) {

e.printStackTrace();

}

return rows;

}

“`


数据运维技术 » Android客户端服务端数据库代码展示 (安卓客户端服务端数据库源码实例)