zoukankan      html  css  js  c++  java
  • 第一个python

      1 import MySQLdb
      2 import os,sys
      3 import string
      4 dto=os.getcwd()+"\dto"
      5 dao=os.getcwd()+"\dao"
      6 idao=os.getcwd()+"\dao\impl"
      7 service=os.getcwd()+"\service"
      8 iservice=os.getcwd()+"\service\impl"
      9 config=os.getcwd()+"\config"
     10 
     11 def convertColum(name):
     12     a="_"+name.replace("_", " ")
     13     word=string.capwords(a).replace(" ", "").replace("_", "")
     14     return word
     15 
     16  
     17 def changeType(type):
     18     if(type=="varchar"):
     19         return "String"
     20     elif(type=="int"):
     21         return "Integer"
     22     return "String"
     23 def changeName(name):
     24     return name.lower().capitalize()
     25 
     26 def creatrFile(fileP,fileN,fileS):
     27     if(os.path.exists(fileP)!=True):
     28         os.makedirs(fileP)
     29     f=file(fileP+"\"+fileN,'w')    
     30     f.write(fileS)
     31     f.close()
     32     
     33 print("begining to connect Mysql.")
     34 try:
     35     dbName='db'
     36     connection = MySQLdb.connect(user="root",passwd="123456",host="127.0.0.1",db=dbName)
     37     cursor = connection.cursor()
     38     cursor.execute( "SELECT TABLE_NAME,TABLE_COMMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'  AND TABLE_SCHEMA='"+dbName+"' " )
     39    
     40     filestr=[]
     41     configstr=[]
     42     for row in cursor.fetchall():
     43         tableName=row[0]
     44         filestr.append('package dto;
    '
     45             'import java.util.Date;
    '
     46             'import java.util.HashMap;
    '
     47             'import java.util.Map;
    '
     48             'import data.BaseDto;
    '
     49             'public class '+ changeName(tableName)+'Info extends BaseDto {
    '
     50             '    public '+ changeName(tableName) +'Info(){
    ' 
     51             '        this.setTbName("'+tableName+'");
    '
     52             '    }
    ')
     53        
     54         cursor1 = connection.cursor()
     55         cursor1.execute( "SELECT COLUMN_NAME as ColumnName,DATA_TYPE as dataType FROM INFORMATION_SCHEMA.COLUMNS  where table_name='"+tableName+"' and TABLE_SCHEMA='"+dbName+"'" )
     56         getsetStr=[]
     57         for row1 in cursor1.fetchall():
     58             filestr.append('    private '+changeType(row1[1])+' '+convertColum(row1[0])+';
    ')
     59             getsetStr.append('    public String get'+changeName(convertColum(row1[0]))+'() {
    '
     60                            '        return '+row1[0]+';
    '
     61                            '    }
    '
     62                            '    public void set'+changeName(convertColum(row1[0]))+'('+changeType(row1[1])+' '+convertColum(row1[0])+') {
    '
     63                            '        this.'+convertColum(row1[0])+' = '+convertColum(row1[0])+';
    '
     64                            '    }
    ')   
     65         getsetStr.append('}')   
     66         creatrFile(dto,changeName(tableName)+".java",''.join(filestr)+''.join(getsetStr))
     67       
     68          #dao
     69         filestr=[]
     70         filestr.append('package dao;
    import data.BaseDao;
    '
     71                        'import dto.*;
    '
     72                        'public interface I'+changeName(tableName)+'Dao implements IRepository<'+ changeName(tableName)+'Info> { 
    '
     73                        '}')
     74         creatrFile(dao,"I"+changeName(tableName)+"Dao.java",''.join(filestr))
     75      
     76       
     77         filestr=[]
     78         filestr.append('package dao.impl;
    import data.BaseDao;
    '
     79                        'import dto.*;
    '
     80                        'public class '+changeName(tableName)+'DaoImpl extends BaseDao<'+ changeName(tableName)+'Info> implements I'+changeName(tableName)+'Dao { 
    '
     81                        '}')
     82         creatrFile(idao,""+changeName(tableName)+"DaoImpl.java",''.join(filestr))
     83         
     84         #service
     85         filestr=[]
     86         filestr.append('package Service;
    '
     87                        'import dto.*;
    '
     88                        'public interface I'+changeName(tableName)+'Service { 
    '
     89                        '}')
     90         creatrFile(service,"I"+changeName(tableName)+"Service.java",''.join(filestr))
     91         filestr=[]
     92         filestr.append('package Service.impl;
    import data.BaseDao;
    '
     93                        'import Service.*;
    import com.google.inject.Inject;
    '
     94                        'public class '+changeName(tableName)+'ServiceImpl  { 
    '
     95                        '     @Inject
    '
     96                        '     private I'+changeName(tableName)+'Dao '+changeName(tableName)+'Dao;
    '
     97                        '}')
     98         creatrFile(iservice,""+changeName(tableName)+"ServiceImpl.java",''.join(filestr))
     99 
    100         filestr=[]        
    101         filestr.append('package cn.uc.custom.wallpaper.config;
    '
    102                         'import com.google.inject.*;
    '
    103                         'import play.modules.guice.GuiceSupport;
    '
    104                         
    105                         'public class GuicyDummy extends GuiceSupport {
    '
    106                         '    protected Injector configure() {
    '
    107                         '        Injector injector = Guice.createInjector(new GuicyDummyModel());
    '
    108                         '        return injector;
    '
    109                         '    }
    '
    110                         '}
    ')
    111         creatrFile(config,"GuicyDummy.java",''.join(filestr))
    112        
    113         configstr.append("        bind(I"+changeName(tableName)+"Dao.class).to("+changeName(tableName)+"DaoImpl.class).in(Singleton.class);
    ");
    114         configstr.append("        bind(I"+changeName(tableName)+"Service.class).to("+changeName(tableName)+"ServiceImpl.class).in(Singleton.class);
    ");
    115     filestr=[]        
    116     filestr.append('package cn.uc.custom.wallpaper.config;
    '
    117                         'import com.google.inject.*;
    '
    118                         'import play.modules.guice.GuiceSupport;
    '
    119                         
    120                         'public class GuicyDummy extends GuiceSupport {
    '
    121                         '    protected Injector configure() {
    '
    122                         '        Injector injector = Guice.createInjector(new GuicyDummyModel());
    '
    123                         '        return injector;
    '
    124                         '    }
    '
    125                         '}
    ')
    126     creatrFile(config,"GuicyDummy.java",''.join(filestr))    
    127     filestr=[]        
    128     filestr.append('package cn.uc.custom.wallpaper.config;
    '
    129                         'import com.google.inject.*;
    '
    130                         'import play.modules.guice.GuiceSupport;
    '
    131                         
    132                         'public class GuicyDummyModel extends AbstractModule {
    '
    133                         '       public void configure() {
    ')
    134     filestr.append(''.join(configstr))                   
    135     filestr.append('    }
    '
    136                         '}
    ')
    137     creatrFile(config,"GuicyDummyModel.java",''.join(filestr))
    138     cursor.close()
    139 except MySQLdb.Error,e:
    140     print "Mysql Error %d: %s" % (e.args[0], e.args[1])
    141     
    142 
    143 
    144 
    145  

     欢迎访问我的新站:学习树教育的第二入口

  • 相关阅读:
    【数论】线性模方程
    【数论】拓展欧几里得
    BZOJ1433: [ZJOI2009]假期的宿舍
    BZOJ2823: [AHOI2012]信号塔
    BZOJ1088: [SCOI2005]扫雷Mine
    BZOJ1257: [CQOI2007]余数之和sum
    BZOJ1227: [SDOI2009]虔诚的墓主人
    BZOJ1856: [Scoi2010]字符串
    BZOJ1084: [SCOI2005]最大子矩阵
    BZOJ2007: [Noi2010]海拔
  • 原文地址:https://www.cnblogs.com/xiaose1205/p/3209122.html
Copyright © 2011-2022 走看看