Chryypy访问MySQL数据库环境搭建

来源:互联网 发布:爬山虎电视软件apk 编辑:程序博客网 时间:2024/05/10 06:27

 

Chryypy访问MySQL数据库环境搭建

1、  安装python-2.6.1.msi

2、  CherryPy-3.0.0beta.win32.exe

3、  MySQL-python-1[1].2.2.win32-py2.6.exe

4、  mysql-essential-5.1.31-win32.zip

5、  MySQL图形化管理工具Navicat+8[1].0汉化破解版.rar

依次安装完上述软件后,一个基本的chryypy的环境就算搭建完毕。

再进行简单的测试:运行下面的脚本,

6、  数据库表设计

名                    类型                                   主键

Date                 date                                        是 

Value                char                                        否

  

7程序源代码:

 
import cherrypy
 
class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True
 
cherrypy.quickstart(HelloWorld())

然后再浏览器的地址栏输入:http://localhost:8080/若看到输出HelloWorld!则证明环境搭建成功。

CherrpyRest化访问数据库例子:

# -*- coding: cp936 -*-

import cherrypy

import MySQLdb

 

class Web:

    def default(self,year='',month='',day=''):

       

        #数据库连接

        conn = MySQLdb.Connection('127.0.0.1', 'root', '123', 'test')

        cursor = conn.cursor()

        #判断有无数据

        dataFlag = 0

        self.y=year

        self.m=month

        self.d=day

        if self.y!='':

            #输出xml文件

            xml=file('data.xml','w')

            if self.m!='':

                if self.d!='':

                    #年、月、日全部输全时查询的是当天的数据

                    date = '-'.join([self.y,self.m,self.d])

                    sql = "select Value from test where Date = '%s'" %date

                    cursor.execute(sql)

                    cds = cursor.fetchall()

                    xml.write('<?xml version="1.0" ?>'+'/n')

                    xml.write('<xml>'+'/n')

                    for row in cds:  

                        for r in row:  

                            xml.write('  '+'<date>'+date+'</date>'+'/n')

                            xml.write('  '*2+'<value>'+str(r)+'</value>'+'/n')

                            dataFlag = 1

                    xml.write('</xml>'+'/n')      

                    xml.close()

                    cursor.close()

                    conn.close()

                    if dataFlag == 1:

                        return self.y,'',self.m,'',self.d,'日的数据已经写入data.xml'

                    else:

                        return self.y,'',self.m,'',self.d,'日没有数据!'

 

                  #只输入年、月时查询的当月的数据

                else:

                    date = '-'.join([self.y,self.m])

                    sql = "select * from test where Date like '%s%%'" %date

                    cursor.execute(sql)

                    cds = cursor.fetchall()

                    xml.write('<?xml version="1.0" ?>'+'/n')

                    xml.write('<xml>'+'/n')

                    xml.write('  '+'<month id='+"'"+date+"'"+'>'+'/n')

                    i = 0

                    for row in cds:  

                        for r in row:

                            if i%2==0:

                                xml.write('  '*2+'<date>'+str(r)+'</date>'+'/n')

                                i=i+1

                            else:

                                xml.write('  '*3+'<value>'+str(r)+'</value>'+'/n')

                                i=i+1

                                dataFlag = 1

                    xml.write('  '+'</month>'+'/n')          

                    xml.write('</xml>'+'/n')

                    xml.close()

                    cursor.close()

                    conn.close()

                    if dataFlag == 1:

                        return self.y,'',self.m,'月的数据已经写入data.xml'

                    else:

                        return self.y,'',self.m,'月没有数据!'

                           

            else:

                #只输入年份时查询的是全年的数据

                    sql = "select * from test where Date like '%s%%'" %self.y

                    cursor.execute(sql)

                    cds = cursor.fetchall()

                    xml.write('<?xml version="1.0" ?>'+'/n')

                    xml.write('<xml>'+'/n')

                    xml.write('  '+'<year id='+"'"+self.y+"'"+'>'+'/n')

                    i = 0

                    for row in cds:  

                        for r in row:

                            if i%2==0:

                                xml.write('  '*2+'<date>'+str(r)+'</date>'+'/n')

                                i=i+1

                            else:

                                xml.write('  '*3+'<value>'+str(r)+'</value>'+'/n')

                                i=i+1

                                dataFlag = 1

                    xml.write('  '+'</year>'+'/n')

                    xml.write('</xml>'+'/n')

                    xml.close()

                    cursor.close()

                    conn.close()

                    if dataFlag == 1:

                        return self.y,'年的数据已经写入data.xml'

                    else:

                        return self.y,'年没有数据!'

                                               

        else:

            return '请输入要查询数据的时间!'

    default.exposed = True

   

class Application:

    data = Web()

if __name__ == '__main__':

    cherrypy.root = Application()

cherrypy.quickstart(cherrypy.root)

 

运行上面的程序后,就是启动了服务器。

然后进行查询访问:例如http://localhost:8080/data/2009/03/03这样就是查询当天的数据。

 

 

原创粉丝点击