本文整理汇总了Python中springpython.database.core.DatabaseTemplate.insert_and_return_id方法的典型用法代码示例。如果您正苦于以下问题:Python DatabaseTemplate.insert_and_return_id方法的具体用法?Python DatabaseTemplate.insert_and_return_id怎么用?Python DatabaseTemplate.insert_and_return_id使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类springpython.database.core.DatabaseTemplate
的用法示例。
在下文中一共展示了DatabaseTemplate.insert_and_return_id方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DatabaseTemplateMockTestCase
# 需要导入模块: from springpython.database.core import DatabaseTemplate [as 别名]
# 或者: from springpython.database.core.DatabaseTemplate import insert_and_return_id [as 别名]
#.........这里部分代码省略.........
self.assertEquals(name, "snake")
def testProgrammaticStaticUpdate(self):
self.mock.expects(once()).method("execute").id("#1")
self.mock.expects(once()).method("execute").id("#2").after("#1")
self.mock.expects(once()).method("fetchall").will(return_value([("python",)])).id("#3").after("#2")
self.mock.rowcount = 1
rows = self.databaseTemplate.update("UPDATE animal SET name = 'python' WHERE name = 'snake'")
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'reptile'", required_type=types.StringType)
self.assertEquals(name, "python")
def testProgrammaticUpdateWithBoundVariables(self):
self.mock.expects(once()).method("execute").id("#1")
self.mock.expects(once()).method("execute").id("#2").after("#1")
self.mock.expects(once()).method("fetchall").will(return_value([("python",)])).id("#3").after("#2")
self.mock.expects(once()).method("execute").id("#4").after("#3")
self.mock.expects(once()).method("execute").id("#5").after("#4")
self.mock.expects(once()).method("fetchall").will(return_value([("coily",)])).id("#6").after("#5")
self.mock.rowcount = 1
rows = self.databaseTemplate.update("UPDATE animal SET name = ? WHERE category = ?", ("python", "reptile"))
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'reptile'", required_type=types.StringType)
self.assertEquals(name, "python")
rows = self.databaseTemplate.update("UPDATE animal SET name = ? WHERE category = %s", ("coily", "reptile"))
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'reptile'", required_type=types.StringType)
self.assertEquals(name, "coily")
def testProgrammaticStaticInsert(self):
self.mock.expects(once()).method("execute").id("#1")
self.mock.expects(once()).method("execute").id("#2").after("#1")
self.mock.expects(once()).method("fetchall").will(return_value([("black mamba",)])).id("#3").after("#2")
self.mock.rowcount = 1
rows = self.databaseTemplate.execute ("INSERT INTO animal (name, category, population) VALUES ('black mamba', 'kill_bill_viper', 1)")
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'kill_bill_viper'", required_type=types.StringType)
self.assertEquals(name, "black mamba")
def testProgrammaticStaticInsertWithInsertApi(self):
self.mock.expects(once()).method("execute").id("#1")
self.mock.expects(once()).method("execute").id("#2").after("#1")
self.mock.expects(once()).method("fetchall").will(return_value([("black mamba",)])).id("#3").after("#2")
self.mock.lastrowid = 42
id = self.databaseTemplate.insert_and_return_id("INSERT INTO animal (name, category, population) VALUES ('black mamba', 'kill_bill_viper', 1)")
self.assertEquals(id, 42)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'kill_bill_viper'", required_type=types.StringType)
self.assertEquals(name, "black mamba")
def testProgrammaticInsertWithBoundVariables(self):
self.mock.expects(once()).method("execute").id("#1")
self.mock.expects(once()).method("execute").id("#2").after("#1")
self.mock.expects(once()).method("fetchall").will(return_value([("black mamba",)])).id("#3").after("#2")
self.mock.expects(once()).method("execute").id("#4").after("#3")
self.mock.expects(once()).method("execute").id("#5").after("#4")
self.mock.expects(once()).method("fetchall").will(return_value([("cottonmouth",)])).id("#6").after("#5")
self.mock.rowcount = 1
rows = self.databaseTemplate.execute ("INSERT INTO animal (name, category, population) VALUES (?, ?, ?)", ('black mamba', 'kill_bill_viper', 1))
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'kill_bill_viper'", required_type=types.StringType)
self.assertEquals(name, "black mamba")
rows = self.databaseTemplate.execute("INSERT INTO animal (name, category, population) VALUES (%s, %s, %s)", ('cottonmouth', 'kill_bill_viper', 1))
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("select name from animal where name = 'cottonmouth'", required_type=types.StringType)
self.assertEquals(name, "cottonmouth")
def testProgrammaticInsertWithBoundVariablesWithInsertApi(self):
self.mock.expects(once()).method("execute").id("#1")
self.mock.expects(once()).method("execute").id("#2").after("#1")
self.mock.expects(once()).method("fetchall").will(return_value([("black mamba",)])).id("#3").after("#2")
self.mock.expects(once()).method("execute").id("#4").after("#3")
self.mock.expects(once()).method("execute").id("#5").after("#4")
self.mock.expects(once()).method("fetchall").will(return_value([("cottonmouth",)])).id("#6").after("#5")
self.mock.lastrowid = 42
id = self.databaseTemplate.insert_and_return_id ("INSERT INTO animal (name, category, population) VALUES (?, ?, ?)", ('black mamba', 'kill_bill_viper', 1))
self.assertEquals(id, 42)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'kill_bill_viper'", required_type=types.StringType)
self.assertEquals(name, "black mamba")
id = self.databaseTemplate.insert_and_return_id("INSERT INTO animal (name, category, population) VALUES (%s, %s, %s)", ('cottonmouth', 'kill_bill_viper', 1))
self.assertEquals(id, 42)
name = self.databaseTemplate.query_for_object("select name from animal where name = 'cottonmouth'", required_type=types.StringType)
self.assertEquals(name, "cottonmouth")
示例2: AbstractDatabaseTemplateTestCase
# 需要导入模块: from springpython.database.core import DatabaseTemplate [as 别名]
# 或者: from springpython.database.core.DatabaseTemplate import insert_and_return_id [as 别名]
#.........这里部分代码省略.........
self.assertRaises(InvalidArgumentType, self.databaseTemplate.query_for_list, "select * from animal where name = ?", "snake")
def testProgrammaticStaticQueryForInt(self):
count = self.databaseTemplate.query_for_int("select population from animal where name = 'snake'")
self.assertEquals(count, 1)
def testProgrammaticQueryForIntWithBoundArguments(self):
count = self.databaseTemplate.query_for_int("select population from animal where name = %s", ("snake",))
self.assertEquals(count, 1)
count = self.databaseTemplate.query_for_int("select population from animal where name = ?", ("snake",))
self.assertEquals(count, 1)
def testProgrammaticStaticQueryForLong(self):
count = self.databaseTemplate.query_for_object("select count(*) from animal", required_type=self.factory.count_type())
self.assertEquals(count, 4)
def testProgrammaticQueryForLongWithBoundVariables(self):
count = self.databaseTemplate.query_for_object("select count(*) from animal where name = %s", ("snake",), self.factory.count_type())
self.assertEquals(count, 1)
count = self.databaseTemplate.query_for_object("select count(*) from animal where name = ?", ("snake",), self.factory.count_type())
self.assertEquals(count, 1)
def testProgrammaticStaticQueryForObject(self):
self.assertRaises(ArgumentMustBeNamed, self.databaseTemplate.query_for_object, "select name from animal where category = 'reptile'", types.StringType)
name = self.databaseTemplate.query_for_object("select name from animal where category = 'reptile'", required_type=types.StringType)
self.assertEquals(name, "snake")
def testProgrammaticQueryForObjectWithBoundVariables(self):
name = self.databaseTemplate.query_for_object("select name from animal where category = %s", ("reptile",), types.StringType)
self.assertEquals(name, "snake")
name = self.databaseTemplate.query_for_object("select name from animal where category = ?", ("reptile",), types.StringType)
self.assertEquals(name, "snake")
def testProgrammaticStaticUpdate(self):
rows = self.databaseTemplate.update("UPDATE animal SET name = 'python' WHERE name = 'snake'")
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'reptile'", required_type=types.StringType)
self.assertEquals(name, "python")
def testProgrammaticUpdateWithBoundVariables(self):
rows = self.databaseTemplate.update("UPDATE animal SET name = ? WHERE category = ?", ("python", "reptile"))
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'reptile'", required_type=types.StringType)
self.assertEquals(name, "python")
rows = self.databaseTemplate.update("UPDATE animal SET name = ? WHERE category = %s", ("coily", "reptile"))
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'reptile'", required_type=types.StringType)
self.assertEquals(name, "coily")
def testProgrammaticStaticInsert(self):
self.databaseTemplate.execute("DELETE FROM animal")
rows = self.databaseTemplate.execute("INSERT INTO animal (name, category, population) VALUES ('black mamba', 'kill_bill_viper', 1)")
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'kill_bill_viper'", required_type=types.StringType)
self.assertEquals(name, "black mamba")
def testProgrammaticStaticInsertWithInsertApi(self):
self.databaseTemplate.execute("DELETE FROM animal")
id = self.databaseTemplate.insert_and_return_id("INSERT INTO animal (name, category, population) VALUES ('black mamba', 'kill_bill_viper', 1)")
self.assertEquals(id, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'kill_bill_viper'", required_type=types.StringType)
self.assertEquals(name, "black mamba")
def testProgrammaticInsertWithBoundVariables(self):
self.databaseTemplate.execute("DELETE FROM animal")
rows = self.databaseTemplate.execute("INSERT INTO animal (name, category, population) VALUES (?, ?, ?)", ('black mamba', 'kill_bill_viper', 1))
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'kill_bill_viper'", required_type=types.StringType)
self.assertEquals(name, "black mamba")
rows = self.databaseTemplate.execute("INSERT INTO animal (name, category, population) VALUES (%s, %s, %s)", ('cottonmouth', 'kill_bill_viper', 1))
self.assertEquals(rows, 1)
name = self.databaseTemplate.query_for_object("select name from animal where name = 'cottonmouth'", required_type=types.StringType)
self.assertEquals(name, "cottonmouth")
def testProgrammaticInsertWithBoundVariablesWithInsertApi(self):
self.databaseTemplate.execute("DELETE FROM animal")
id = self.databaseTemplate.insert_and_return_id("INSERT INTO animal (name, category, population) VALUES (?, ?, ?)", ('black mamba', 'kill_bill_viper', 1))
self.assertEquals(id, 1)
name = self.databaseTemplate.query_for_object("SELECT name FROM animal WHERE category = 'kill_bill_viper'", required_type=types.StringType)
self.assertEquals(name, "black mamba")
id = self.databaseTemplate.insert_and_return_id("INSERT INTO animal (name, category, population) VALUES (%s, %s, %s)", ('cottonmouth', 'kill_bill_viper', 1))
self.assertEquals(id, 2)
name = self.databaseTemplate.query_for_object("select name from animal where name = 'cottonmouth'", required_type=types.StringType)
self.assertEquals(name, "cottonmouth")
示例3: AbstractTransactionTestCase
# 需要导入模块: from springpython.database.core import DatabaseTemplate [as 别名]
# 或者: from springpython.database.core.DatabaseTemplate import insert_and_return_id [as 别名]
class AbstractTransactionTestCase(unittest.TestCase):
def __init__(self, methodName='runTest'):
unittest.TestCase.__init__(self, methodName)
self.factory = None
self.createdTables = False
def setUp(self):
if not self.createdTables:
self.createTables()
self.createTables()
self.dt = DatabaseTemplate(self.factory)
self.dt.execute("DELETE FROM animal")
self.dt.execute("DELETE FROM account")
self.factory.commit()
self.assertEquals(len(self.dt.query_for_list("SELECT * FROM animal")), 0)
self.transactionManager = ConnectionFactoryTransactionManager(self.factory)
self.transactionTemplate = TransactionTemplate(self.transactionManager)
def tearDown(self):
self.factory.getConnection().rollback()
def testInsertingRowsIntoTheDatabase(self):
rows = self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('black mamba',))
self.assertEquals(rows, 1)
name = self.dt.query_for_object("SELECT name FROM animal WHERE name = 'black mamba'", required_type=types.StringType)
self.assertEquals(name, "black mamba")
def testInsertingRowsIntoTheDatabaseWithInsertApi(self):
id = self.dt.insert_and_return_id("INSERT INTO animal (name) VALUES (?)", ('black mamba',))
self.assertEquals(id, 1)
name = self.dt.query_for_object("SELECT name FROM animal WHERE name = 'black mamba'", required_type=types.StringType)
self.assertEquals(name, "black mamba")
def testInsertingTwoRowsWithoutaTransactionButManuallyCommitted(self):
self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('black mamba',))
self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('copperhead',))
self.factory.commit()
self.assertEquals(len(self.dt.query_for_list("SELECT * FROM animal")), 2)
def testInsertingTwoRowsWithoutaTransactionButManuallyRolledBack(self):
self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('black mamba',))
self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('copperhead',))
self.assertEquals(len(self.dt.query_for_list("SELECT * FROM animal")), 2)
self.dt.connection_factory.getConnection().rollback()
self.assertEquals(len(self.dt.query_for_list("SELECT * FROM animal")), 0)
def testInsertingTwoRowsWithaTransactionAndNoErrorsAndNoResults(self):
class txDefinition(TransactionCallbackWithoutResult):
def do_in_tx_without_result(s, status):
self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('black mamba',))
self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('copperhead',))
self.transactionTemplate.execute(txDefinition())
self.assertEquals(len(self.dt.query_for_list("SELECT * FROM animal")), 2)
def testInsertingTwoRowsWithaTransactionAndAnIntermediateErrorAndNoResults(self):
class txDefinition(TransactionCallbackWithoutResult):
def do_in_tx_without_result(s, status):
self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('black mamba',))
self.assertEquals(len(self.dt.query_for_list("SELECT * FROM animal")), 1)
raise DataAccessException("This should break the transaction, and rollback the insert.")
self.assertRaises(DataAccessException, self.transactionTemplate.execute, txDefinition())
self.assertEquals(len(self.dt.query_for_list("SELECT * FROM animal")), 0)
def testInsertingTwoRowsWithaTransactionAndNoErrorsAndResults(self):
class txDefinition(TransactionCallback):
def do_in_transaction(s, status):
self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('black mamba',))
self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('copperhead',))
results = self.dt.query_for_object("SELECT name FROM animal WHERE name like 'c%'", required_type=types.StringType)
return results
self.assertEquals(self.transactionTemplate.execute(txDefinition()), "copperhead")
self.assertEquals(len(self.dt.query_for_list("SELECT * FROM animal")), 2)
def testInsertingTwoRowsWithaTransactionAndAnIntermediateErrorAndResults(self):
class txDefinition(TransactionCallback):
def do_in_transaction(s, status):
self.dt.execute("INSERT INTO animal (name) VALUES (?)", ('black mamba'))
self.assertEquals(len(self.dt.query_for_list("SELECT * FROM animal")), 1)
raise DataAccessException("This should break the transaction, and rollback the insert.")
self.assertRaises(DataAccessException, self.transactionTemplate.execute, txDefinition())
self.assertEquals(len(self.dt.query_for_list("SELECT * FROM animal")), 0)
def testDeclarativeTransactions(self):
appContext = ApplicationContext(DatabaseTxTestAppContext(self.factory))
bank = appContext.get_object("bank")
bank.open("Checking")
bank.open("Savings")
bank.deposit(125.00, "Checking")
self.assertEquals(bank.balance("Checking"), 125.00)
bank.deposit(250.00, "Savings")
#.........这里部分代码省略.........