Создание блога на Dart. Часть 3.
Создание блога на Dart. Часть 1.
Создание блога на Dart. Часть 2.
Создание блога на Dart. Часть 3.
Хранение данных
Для Dart написаны драйверы практически для всех популярных СУБД. Я решил использовать PostgreSQL. Драйвер подключается в пабспеке:
dependencies: ... postgresql: ^0.3.4
К полям в результатах запроса можно обращаться по алиасам
class PostRepository { Future<List<Post>> getAllPosts() async { var result = new List<Post>(); var dbUserName = Config.dbUserName; var dbUserPass = Config.dbUserPass; var dbServerHost = Config.dbServerHost; var dbServerPort = Config.dbServerPort; var dbName = Config.dbName; var uri = 'postgres://$dbUserName:$dbUserPass@$dbServerHost:$dbServerPort/$dbName'; Connection connection = await connect(uri); List<Row> rows = await connection .query( 'SELECT title, body, tags, permalink, created, updated FROM public.posts;') .toList(); for (var i = 0; i < rows.length; i++) { Row row = rows[i]; result.add(new Post(row.title, row.body, (row.tags as String).split(','), row.permalink, row.created, row.updated)); } connection.close(); return result; } }
Класс поста для понимания:
class Post { String title; String body; List<String> tags; String permalink; DateTime created; DateTime updated; Post(this.title, this.body, this.tags, this.permalink, this.created, this.updated); }