创建公共的mysql连接函数

def db_session():
db_config='mysql+mysqldb://'+ mysqluser + ':' + mysqlpassword+'@'+mysqlip+'/'+dbname + '?charset=utf8'
echo = True
IsolationLevel='READ COMMITTED'
engine=create_engine(db_config,pool_recycle=60,isolation_level=IsolationLevel,echo=echo)
session=sessionmaker(bind=engine)
return session()

python代码

# -*- encoding: utf-8 -*-

import tornado
from sqlalchemy import * from common.db_session import *
from tornado.concurrent import run_on_executor
from concurrent.futures import ThreadPoolExecutor class checkJDBCList(tornado.web.RequestHandler):
executor = ThreadPoolExecutor(20) @tornado.gen.coroutine
def get(self): # 跳转页面
title = "test"
ps = self.get_page_config(title)
self.render('test.html',**ps)

@tornado.gen.coroutine
def post(self): # 表格请求数据
system = self.get_arg("system", "%")
offset = self.get_arg('offset', 0)
order_field = self.get_arg('order_field', "createTime")
order_type = self.get_arg("order_type", "desc")
page_size = self.get_arg('pageSize', 10)
# 我们自定义的方法不支持异步。所以使用协程来提升性能
total_count, connection_list = yield self.connection_number_warning(employee_number, system_enname, offset, order_field, order_type, page_size)
# total和rows是必须要的2个参数,可以添加其他的参数
self.write({"total": total_count, "rows": connection_number_warning_list}) @run_on_executor
def connection_number_warning(self, employee_number, system_enname, offset, order_field, order_type, page_size):
total_count = 0
connection_numbe_list = []
session = db_session()
try:
connection_list = session.query() # 查询的字段
connection_list = connection_list.filter() # 查询条件
connection_list = connection_list.offset(offset) # 跳过多少行,分页用的
connection_list = connection_list.order_by(order_field + " " + order_type) # 排序字段和方式
connection_list = connection_list.limit(page_size).all() # 查询多少行数据 for connection_db in connection_list: # 将查询的结果转换成[{"key": "value"}]这种格式
connection = {}
connection["system"] = connection_db[0]
connection_number_list.append(connection) total_count = session.query(func.count("*")).filter().scalar() #查询符合条件的数据总量
except Exception as e:
print e
finally:
session.close()
return total_count, connection_number_warning_list

sqlalchemy 配合bootstrap-table实现后台分页的更多相关文章

  1. bootstrap Table API和一些简单使用方法

    官网: http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/ 后端分页问题:后端返回”rows”.“”total,这样才能重新赋值 ...

  2. bootstrap table插件动态加载表头

    这篇文章主要为大家详细介绍了bootstrap table插件动态加载表头,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   bootstrap的table属性已经很熟悉了,最近遇到一个问题,犹豫 ...

  3. BootStrap table使用

    bootstrap table git address https://github.com/wenzhixin/bootstrap-table 引入文件 <link rel="sty ...

  4. bootstrap Table 中给某一特定值设置table选中

    bootstrap Table 中给某一特定值设置table选中 需求: 如图所示:左边地图人员选定,右边表格相应选中. 功能代码: //表格和图标联动 function changeTableSel ...

  5. JS组件系列——表格组件神器:bootstrap table

    前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...

  6. JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)

    前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...

  7. JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)

    前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...

  8. JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案

    前言:最近项目里面需要用到表格的冻结列功能,所谓“冻结列”,就是某些情况下表格的列比较多,需要固定前面的几列,后面的列滚动.遗憾的是,bootstrap table里自带的fixed column功能 ...

  9. JS组件系列——Bootstrap Table 表格行拖拽

    前言:之前一直在研究DDD相关知识,好久没更新JS系列文章了.这两天做了一个简单的业务需求,觉得效果还可以,今天在这里分享给大家,欢迎拍砖~~ 一.业务需求及实现效果 项目涉及到订单模块,那天突然接到 ...

  10. JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)

    前言:前天刚写了篇JS组件系列——Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的基础上能够同时拖拽选中的多行.博主用了半天时间研究了下,效果是出来了,但是感觉不尽 ...

随机推荐

  1. 12个有趣的C语言问答

    转自:http://www.admin10000.com/document/913.html 1,gets() 方法 Q:以下代码有个被隐藏住的问题,你能找到它吗? 1 2 3 4 5 6 7 8 9 ...

  2. sql的日期格式化转化

    1. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. DATE_FORMAT(date,format) 可以使用的格式有: 格式 描述 %a 缩写星期名 %b 缩写月名 %c 月 ...

  3. 性能测试基础---jmeter函数二次开发

    Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...

  4. centos7下安装docker 以及简单使用

    一 环境准备1.虚拟机or物理机 2.centos7系统(稳定,对docker支持友好) 二 安装过程step1:使用yum命令进行安装 yum install -y docker备注:-y 表示不询 ...

  5. ArcGIS 10 线转点 polyline to points

    核心提示,使用Construct Points工具,在编辑里,选中一条polyline,然后编辑工具栏里的Construct Points.图等有空再补上吧.

  6. robotframework连接mysql

    1.安装mysql数据库,并启动,创建数据库test及user表(可以自定义) 2.配置robotframework环境加载DatabaseLibrary 3.安装pymysql,下载地址:https ...

  7. 测试基础【第六篇】bug要素及其生命周期

    bug的要素 为了让开发人员更准确.更快的看懂Bug,测试需要按照一定的规范提交bug. 缺陷id:一般由缺陷管理系统自动生成: 缺陷标题:概要描述缺陷: 发现人:一般是缺陷管理系统自动获取当前用户: ...

  8. Django 购物车模板

    url from django.contrib import admin from django.urls import path, re_path from django.urls import i ...

  9. (二)STM32开发例程

    1控制LED和继电器 除了 PA11和PA12其他都可以 void setup() { pinMode(PC13, OUTPUT); pinMode(PC14, OUTPUT); pinMode(PC ...

  10. three.js 测试1

    关键看一下里面的注释 代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /& ...