pybatis
文章平均质量分 60
imzoer
Tencent mason
展开
-
Python中globals和locals的区别-pybatis的准备阶段(六)
Python的两个内置函数,locals 和globals,它们提供了基于字典的访问局部和全局变量的方式。 1、locals()是只读的。globals()不是。这里说的只读,是值对于原有变量的只读。其实还可以对locals()赋值的。见下图 上面的图就可以看出了,对locals()中增加了一个b变量。 2、locals和globals的返回不同 locals(...) l原创 2013-03-08 09:52:59 · 3417 阅读 · 0 评论 -
Python解析xml文件-pybatis的准备阶段(二)
题外话:py,类中定义的所有变量都是public的。 ------------------------- 在qq实习的时候,解析过xml。用的是minidom。 ------------------------------------------ 要参考这里。 关键需要注意的一点就是,对于空白的处理和对CDATA的处理。原创 2013-03-05 16:25:58 · 1119 阅读 · 0 评论 -
Python中的反射(自省)-pybatis的准备阶段(一)
想开发一个python版本的可用产品了。从ORM开始吧。 先做知识储备。 ------------------------------- 想开发一个类似ibatis的产品,暂时就叫做PyBatis吧。 需要用到反射。 ----------------- 一、访问对象的属性 在py中,可以很简单的得到一个对象是否有一个属性,也可以简单的就得到对象的属性值。看下面代码: ''' Cre原创 2013-03-05 15:16:13 · 2627 阅读 · 0 评论 -
Python操作MySql-pybatis的准备阶段(三)
直接看代码: #-*- encoding: gb2312 -*- ''' Created on 2013-3-5 @author: naughty ''' import os, sys, string import MySQLdb try: conn = MySQLdb.connect(host='localhost',user='',passwd='',db='test')原创 2013-03-05 18:17:00 · 1122 阅读 · 0 评论 -
Python中的异常-pybatis的准备阶段(四)
在写PyBatis的过程中,如果用户查询过程出现错误,那么要抛出异常。 使用raise关键字即可: 更多关于异常的知识可以参考这里原创 2013-03-06 20:38:43 · 902 阅读 · 0 评论 -
Python中动态导入模块-pybatis的准备阶段(七)
动态导入模块可以不必在文件开头使用import进行导入。可以在使用到的时候再进行导入并使用。 __import__可以用来进行动态导入。 但是下面的方法也可以: >>> del sysmod >>> sysmod.path Traceback (innermost last): File "", line 1, in NameError: name 'sysmod' is not de原创 2013-03-08 10:55:38 · 1496 阅读 · 1 评论 -
Python接口与类继承学习-pybatis的准备阶段(九)
先说说py的继承。 为了使用继承,我们把基本类的名称作为一个元组跟在定义类时的类名称之后。然后,我们注意到基本类的__init__方法专门使用self变量调用,这样我们就可以初始化对象的基本类部分。这一点十分重要——Python不会自动调用基本类的constructor,你得亲自专门调用它。 ''' Created on 2013-3-11 @author: naughty ''' cla原创 2013-03-11 10:46:53 · 4919 阅读 · 0 评论 -
给PyBatis添加数据库连接池支持-pybatis的准备阶段(十二)
我在这篇文章中大概介绍了一下DBUtil的用法。 现在是时候给pybatis添加数据库连接池的支持了。不然每次都新建连接,代价还是蛮高的。 这里使用了DBUtils搭建了数据库连接池。目的是给pybatis提供数据库连接。 其实仅仅是封装了DBUtils中的PooledDB。 # -*- coding:utf-8 -*- ''' Created on 2013-3-12 @author:原创 2013-03-12 11:23:44 · 1138 阅读 · 0 评论 -
Python的多线程支持-pybatis的准备阶段(十一)
在考虑pybatis中是不是要用多线程呢?刚刚在技术群里问了一下。用户的请求大概会是从web服务器中发出来的。 那么,web服务器本身就会对请求使用多线程来处理。那么orm就不用处理了。但是还是要学习一下多线程的知识。 在py中使用线程有两种方式: 1、自己用函数包装线程对象 2、继承线程类。 先看第一种情况: import time import thread def tim原创 2013-03-11 21:00:58 · 1064 阅读 · 0 评论 -
Python中的静态方法-pybatis的准备阶段(五)
写法如下:需要一个注解 ''' Created on 2013-3-5 @author: naughty ''' class F(): @staticmethod def statidddc(): print 'adf' F.statidddc()原创 2013-03-05 17:01:15 · 849 阅读 · 0 评论 -
Python的数据库连接池DBUtils
DBUtils的使用还是蛮方便的。 下载了DBUtils之后,直接 setup.py install 就可以安装了。我是在windows下安装的。 创建连接池,就可以从连接池中取得连接并使用了。 在使用的过程中,用户没有从中取出连接的时候,去mysql中show processlist,发现数据库已经存在了这些连接了。原创 2013-03-06 21:18:49 · 3816 阅读 · 0 评论 -
Python解析xml-pybatis的准备阶段(八)
一直以来都是用xml.dom.minidom来解析xml的。 重点关注一下nodeType。 nodeType是结点的类型,现在有以下几种: 'ATTRIBUTE_NODE' 'CDATA_SECTION_NODE' 'COMMENT_NODE' 'DOCUMENT_FRAGMENT_NODE' 'DOCUMENT_NODE' 'DOCUMENT_TYPE_NODE' 'ELEM原创 2013-03-10 15:35:19 · 1222 阅读 · 0 评论 -
Python中Mysqldb的使用以及事务的支持-pybatis首次露面-pybatis的准备阶段(十)
http://zetcode.com/db/mysqlpython/ 这个地址中有一些关于mysqldb模块的使用介绍。 其中关键一点的是事务支持。 “ For databases that support transactions, the Python interface silently starts a transaction when the cursor is created.原创 2013-03-11 17:34:05 · 13022 阅读 · 2 评论 -
PyBatis0.1版本-测试
表结构: name varchar(100),age int,score int 下面是测试代码: # -*- coding:utf-8 -*- ''' Created on 2013-3-5 @author: naughty ''' from com.domain import beans from com.domain.TransactionManager import Transac原创 2013-03-12 14:26:27 · 1087 阅读 · 0 评论