您的位置:首页 > 编程语言 > Python开发

python2.7完成curd

2014-04-26 22:48 381 查看
新建数据表:

CREATE TABLE `js_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
`addtime` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;


数据库类:

#!/usr/bin/python
#encoding=utf8
import MySQLdb
import sys

#数据库连接
class Mysqldb():
__user = "root" #数据库用户名
__passwd = ""   #数据库密码
__db = "test"	#数据库名称
__host = "localhost" #数据库链接地址
__charset = "utf8"
conn = ""
cursor = ""
#数据库连接
def __init__(self):
try:
self.conn = MySQLdb.connect(host=self.__host,user=self.__user,passwd=self.__passwd,db=self.__db,charset=self.__charset)
except Exception, e:
print e
sys.exit()

#得到数据库操作句柄
def getCursor(self):
try:
self.cursor = self.conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) #表示通过字段获取
return self.cursor
except Exception ,e:
print e
sys.exit()

#关闭数据库资源
def close(self):
try:
if self.cursor:
self.cursor.close()
if self.conn:
self.conn.close()
except Exception ,e:
print e
sys.exit()


#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
class User():
def __init__(self):
pass
def setId(self,id):
self.__id = id
def setUsername(self,username):
self.__username = username
def setAge(self,age):
self.__age = age
def setAddtime(self,addtime):
self.__addtime = addtime
def getId(self):
return self.__id
def getUsername(self):
return self.__username
def getAge(self):
return self.__age
def getAddtime(self):
return self.__addtime
def show(self):
print "用户名:%s,年龄:%d,添加时间:%d" %(self.getUsername(),self.getAge(),self.getAddtime())


#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys
import time
sys.path.append('..')
from vo.User import User
from db.Mysqldb import Mysqldb

class UserDao():
def __init__(self):
mysqldb = Mysqldb()
self.cusror = mysqldb.getCursor()

#根据用户名查询用户
def getUserInfoByName(self,username):
sql = "select id,username,age,addtime from js_user where username=%s"
param = (username)
rowsnum = self.cusror.execute(sql,param)
if rowsnum:
user = User()
row = self.cusror.fetchone()
user.setId(row['id'])
user.setUsername(row['username'])
user.setAge(row['age'])
user.setAddtime(row['addtime'])
return user
else:
return  ""

#添加新用户
def addUserInfo(self,user):
sql = "insert into js_user(username,age,addtime) values(%s,%s,%s)"
param = (user.getUsername(),user.getAge(),user.getAddtime())
affectrows = self.cusror.execute(sql,param)
if affectrows > 0 :
return affectrows
else:
return 0

#查询所有用户信息
def getAllUserInfoList(self):
sql = "select id,username,age,addtime from js_user"
rowsnum = self.cusror.execute(sql)
userInfoList = []
if rowsnum >0 :
userList = self.cusror.fetchall()
for row in userList:
user = User()
user.setId(row['id'])
user.setUsername(row['username'])
user.setAge(row['age'])
user.setAddtime(row['addtime'])
userInfoList.append(user)

return userInfoList
else:
return ""

#删除用户
def deleteUserInfoByUid(self,uid):
sql = "delete  from js_user where id = %s"
param = (uid)
affectRow = self.cusror.execute(sql,param)
if affectRow > 0:
return affectRow
else:
return ""

#更新操作
def updateUserInfo(self,user):
sql = "update js_user set username=%s,age=%s where id=%s"
param = (user.getUsername(),user.getAge(),user.getId())
affectRow = self.cusror.execute(sql,param)
if affectRow > 0:
return affectRow
else:
return 0

#!/usr/bin/python
#encoding = utf8
import sys
sys.path.append('..')
from dao.UserDao import UserDao

class UserService():
def __init__(self):
self.userDao = UserDao()

def getUserInfoByName(self,username):
return self.userDao.getUserInfoByName(username)

def addUserInfo(self,user):
return  self.userDao.addUserInfo(user)

def getAllUserInfoList(self):
return self.userDao.getAllUserInfoList()

def deleteUserInfoByUid(self,uid):
return self.userDao.deleteUserInfoByUid(uid)

def updateUserInfo(self,user):
return self.userDao.updateUserInfo(user)

#!/usr/bin/python
#coding=utf-8
import sys
import time
from service.UserService import UserService
from vo.User import User
reload(sys)
sys.setdefaultencoding('utf8')

#添加用户
def addUser():
user =  User()
userService = UserService()
username = raw_input('请输入用户名称')

while username.strip()=="" or user!="":
if username.strip() == "":
print '用户名称不能为空!'
username = raw_input('请输入用户名称!')
else:
user = userService.getUserInfoByName(username.strip())
if user!="":
print '用户名称已经存在!'
username = raw_input('请输入用户名称!')

age = raw_input('请输入用户年龄')
while age.isdigit()==False:
print '年龄必须是一个整数!'
age = raw_input('请输入用户年龄')

user = User()
user.setUsername(username.strip())
user.setAge(int(age))
user.setAddtime(int(time.time()))

affectRow = userService.addUserInfo(user)
return affectRow

#用户删除
def deleteUser():
username = raw_input("请输入要删除人的名称!")
user = ""
userService = UserService()
while username=="" or user=="":
if username.strip() == "":
print '用户名称不能为空!'
username = raw_input('请输入用户名称!')
else:
print username
user = userService.getUserInfoByName(username.strip())

if user=="":
print '用户名称不存在!'
username = raw_input('请输入用户名称!')
return userService.deleteUserInfoByUid(user.getId())

#查找用户信息
def selectUser():
username = raw_input("请输入要查询人的名称!")
user = ""
userService = UserService()
while username=="" or user=="":
if username.strip() == "":
print '用户名称不能为空!'
username = raw_input('请输入用户名称!')
else:
user = userService.getUserInfoByName(username.strip())
if user=="":
print '用户名称不存在!'
username = raw_input('请输入用户名称!')
addtime = time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(user.getAddtime()))
print "用户ID: %s,用户名称:%s,年龄:%s,添加时间:%s\r\n" %(user.getId(),user.getUsername(),user.getAge(),addtime)
return True

#更新用户信息
def updateUser():
username = raw_input("请输入要更新人的名称!")
user = ""
userService = UserService()
while username=="" or user=="":
if username.strip() == "":
print '用户名称不能为空!'
username = raw_input('请输入用户名称!')
else:
user = userService.getUserInfoByName(username.strip())
if user=="":
print '用户名称不存在!'
username = raw_input('请输入用户名称!')

age = raw_input('请输入用户年龄')
while age.isdigit()==False:
print '年龄必须是一个整数!'
age = raw_input('请输入用户年龄')
user.setAge(int(age))
return userService.updateUserInfo(user)

#查找所以信息
def listUser():
userService = UserService()
userList = userService.getAllUserInfoList()
if userList:
for user in userList:
addtime = time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(user.getAddtime()))
print "用户ID: %s,用户名称:%s,年龄:%s,添加时间:%s" %(user.getId(),user.getUsername(),user.getAge(),addtime)
return True
else:
return False

#错误处理
def error():
print '输入参数非法!!!!'
#!/usr/bin/python
#encoding = utf8
import sys
from service.UserService import UserService
from operate import addUser,deleteUser,selectUser,listUser,updateUser,error
reload(sys)
sys.setdefaultencoding('utf8')
flag = False; #标示用户是否合法
decDict = {'add':'添加用户','delete':'删除用户','select':'查询用户','list':'列表所有用户','update':'更新信息','exit':'退出'}
while flag==False:
username = raw_input("请输入用户名 :");
userpwd = raw_input("请输入用户密码 :");
if username != 'xiongjin' or userpwd!='xiongjin':
print '密码错误!!!'
pass
else:
flag = True
for k,v in decDict.iteritems():
print v + ':' + k

operateDict = {'add':addUser,'delete':deleteUser,'select':selectUser,'list':listUser,'update':updateUser,'error':error}
operateName = raw_input("请输入您要操作的选项 :");
while operateName!='exit':
if operateDict.has_key(operateName)==False:
print '参数错误!!'
operateName = "exit"
else:
if operateDict.get(operateName,'error')():
print '操作成功'
for k,v in decDict.iteritems():
print v + ':' + k
else:
print '操作失败'
operateName = raw_input("请输入您要操作的选项 :");
print '退出成功!'


cecc
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: