一般而言,会使用xml编写sql
异常
update,delete,insert,select等sql如果执行异常会抛异常。常见的异常如BadSqlGrammarException和RuntimeException
BadSqlGrammarException一般是sql语法编写出错。
RuntimeException用来表示一些不可控的异常(RuntimeException运行时异常是不用在代码中声明的异常,理论上任何地方的Java代码发生错误都有可能抛出此异常)。一般会在controller层整体包上try-catch处理所有Runtime异常。
正常
sql执行不应该说成没成功,成功与否是个主观概念,应该交给前端判断,对于sql只能说是否正常执行。比如查询为空,删除空记录,更新不存在的记录等操作都不会发生异常(都可以正常返回,返回值为0)。
update,delete,insert 正常执行会返回一个影响表条数的数字,可以设置为void(如果一行都没影响到,则返回0,一般交给前端处理)
select 正常执行会返回对象(如果记录不存在,即返回对象为null也算正常执行,可以交给前端去处理)