python2.7完成curd

新建数据表:

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 '退出成功!'    













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值