美文网首页DartVM服务器开发
DartVM服务器开发(第二十五天)--使用SQl语句

DartVM服务器开发(第二十五天)--使用SQl语句

作者: rhyme_lph | 来源:发表于2018-09-15 23:57 被阅读37次

    在之前学习中,我们已经学习了如何使用jaguar_query_postgres对实体类进行绑定生成一个bean类,使用该bean类对数据库进行操作,那么,如果是涉及到多个表进行查询,就显得有点疲软了,所以今天我们来学习一下如何使用sql语句进行查询!

    1. 介绍

    使用jaguar_query_postgres其实是基于jaguar_postgres库进行封装的,所以,我们只要是集成了jaguar_query_postgres都可以使用SQL语句进行查询

    2. 使用SQl

    我们通过对PgAdapter这个类的进一步追逐,可以发现pg.PostgreSQLConnection这个类,通过PgAdapter.connection去获取,该类就是主要执行SQL语句的,可以使用pg.PostgreSQLConnection.execute(SQL)去执行,该方法是返回的是一个Future<int>,我们来试一下吧

    首先,我们的数据库中的_chat表有一条数据,现在我们通过SQL语句对他进行删除

    image.png
    import 'package:jaguar_query_postgres/jaguar_query_postgres.dart';
    
    final PgAdapter pgAdapter = new PgAdapter(
        'rhymedb',
        username: 'postgres',
        password: '123456');
    
    main() async{
      await pgAdapter.connect();
      int i=await pgAdapter.connection.execute("DELETE FROM  _chat WHERE id='1' ");
      print(i);
    }
    

    然后我们运行一下


    image.png

    可以看到,我们已经成功的输出了1来看看数据库

    image.png
    数据已经被我删除掉了
    这里,我们来解释一下,该execute(SQL)方法只能对数据库进行,来了解一下,它还有两个参数
    • Map<String, dynamic> substitutionValues替代值,可替换SQL语句中的key到对应的值,默认为空
    • int timeoutInSeconds超时时间,单位为秒,默认30秒

    接下来,我们来了解一下如何使用查询语句吧,将通过SQl语句查询到对应的值出来,我们可以使用pgAdapter.connection.mappedResultsQuery(SQL)方法

    final PgAdapter pgAdapter = new PgAdapter(
        'rhymedb',
        username: 'postgres',
        password: '123456');
    
    main() async{
      await pgAdapter.connect();
      List<Map<String, Map<String, dynamic>>> map=await pgAdapter.connection.mappedResultsQuery('SELECT * FROM _chat');
      print(map);
    }
    

    查询到的是一个map数组,该数组可以通过窗口输出,这里先添加一条数据,然后再查询看一下


    image.png
    image.png

    可以看到,输出了一个map数据,该数据是通过以表名作为一个键,然后我们再添加一条数据查询看看


    image.png
    image.png
    ok,很明显,都是通过表明作为键,对应的值作为值

    很明显的看到,这样就实现了使用了SQL语句进行查询了。
    今天就到这里了
    课后作业:执行一下多表查询,多表更新

    如果想继续学习DartVM服务器开发,请关注我,学习更多骚操作!

    相关文章

      网友评论

        本文标题:DartVM服务器开发(第二十五天)--使用SQl语句

        本文链接:https://www.haomeiwen.com/subject/xrxxnftx.html