Skip to content

Instantly share code, notes, and snippets.

@pypeach
Last active July 23, 2018 12:54
Show Gist options
  • Save pypeach/dd2c9c9191b1df4151945a6d7f31598c to your computer and use it in GitHub Desktop.
Save pypeach/dd2c9c9191b1df4151945a6d7f31598c to your computer and use it in GitHub Desktop.
DBアクセスを行うサンプルアプリケーションです
# coding:utf-8
import logging
from app.app_logic_base import AppLogicBase
from app.enum.gender_type import GenderType
from app.sql import employees, departments
from app.util import date_helper
"""
DBアクセスするサンプルアプリケーションです
"""
__author__ = "t.ebinuma"
__version__ = "1.1"
__date__ = "27 April 2018"
class OperateDb(AppLogicBase):
def __init__(self):
super().__init__()
# loggerを設定する
self.logger = logging.getLogger(__name__)
def insert(self):
"""
employeesテーブルのレコード登録を行う
"""
# テーブルにレコードを登録する
param = {'emp_no': 1,
'first_name': 'Tiger',
'last_name': 'Nixon',
'gender': GenderType.MANAGER.value,
'birth_date': date_helper.convert_string_to_date("19950101", date_helper.format_ymd),
'hire_date': date_helper.convert_string_to_date("20160517", date_helper.format_ymd),
}
employees.insert(param)
param = {'emp_no': 2,
'first_name': 'Garrett',
'last_name': 'Winters',
'gender': GenderType.MANAGER.value,
'birth_date': date_helper.convert_string_to_date("19950101", date_helper.format_ymd),
'hire_date': date_helper.convert_string_to_date("20160517", date_helper.format_ymd),
}
employees.insert(param)
param = {'emp_no': 3,
'first_name': 'Ashton',
'last_name': 'Cox',
'gender': GenderType.MANAGER.value,
'birth_date': date_helper.convert_string_to_date("19950101", date_helper.format_ymd),
'hire_date': date_helper.convert_string_to_date("20160517", date_helper.format_ymd),
}
employees.insert(param)
param = {'emp_no': 4,
'first_name': 'Cedric',
'last_name': 'Kelly',
'gender': GenderType.MANAGER.value,
'birth_date': date_helper.convert_string_to_date("19950101", date_helper.format_ymd),
'hire_date': date_helper.convert_string_to_date("20160517", date_helper.format_ymd),
}
employees.insert(param)
param = {'emp_no': 5,
'first_name': 'Airi',
'last_name': 'Satou',
'gender': GenderType.EMP.value,
'birth_date': date_helper.convert_string_to_date("19950101", date_helper.format_ymd),
'hire_date': date_helper.convert_string_to_date("20160517", date_helper.format_ymd),
}
employees.insert(param)
param = {'dept_no': 1, 'dept_name': 'Finance'}
departments.insert(param)
# テーブルからレコードを検索する
self._select_employees(1)
def update(self):
"""
employeesテーブルのレコード更新を行う
"""
# テーブルのレコードを更新する
param = {'emp_no': 1, 'first_name': 'Brielle', 'last_name': 'Serrano'}
employees.update(param)
param = {'dept_no': 1, 'dept_name': 'Business'}
departments.update(param)
# テーブルからレコードを検索する
self._select_employees(1)
def _select_employees(self, emp_no):
# テーブルからレコードを検索する
param = {'emp_no': emp_no}
emp_list = employees.select(param)
for emp_item in emp_list:
self.logger.debug("emp_no={}".format(emp_item['emp_no']))
self.logger.debug("first_name={}".format(emp_item['first_name']))
self.logger.debug("last_name={}".format(emp_item['last_name']))
self.logger.debug("gender={}".format(emp_item['gender']))
self.logger.debug("birth_date={}".format(emp_item['birth_date']))
self.logger.debug("hire_date={}".format(emp_item['hire_date']))
def main():
app_class = OperateDb()
app_class.insert()
app_class.update()
if __name__ == '__main__':
main()
@pypeach
Copy link
Author

pypeach commented May 15, 2018

親クラスを追加した

@pypeach
Copy link
Author

pypeach commented Jul 21, 2018

サンプルテーブルのテーブル名を変更した

@pypeach
Copy link
Author

pypeach commented Jul 23, 2018

loggerの指定を変更

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment