[英]Spring JDBC: How to create the tables?
我使用Spring JdbcTemplate
和DAO模式来访问数据库。 我没有手动创建数据库表,而是在寻找一种在DAO层生成表的方法。 我知道我可以使用JdbcTemplate
来执行语句,我只是在寻找合适的位置来执行它。
有最好的做法吗?
您可以使用execute(String)方法 :
public void execute(String sql) throws DataAccessException
发出单个SQL执行,通常是DDL语句。
指定者:在JdbcOperations接口中执行参数:sql - 要执行的静态SQL
抛出:DataAccessException - 如果有任何问题
然而,正如beny23提到的那样,我会怀疑在实际应用程序中以编程方式执行此操作的实际需要。
稍微偏离主题:
您是否需要从代码中执行DDL命令? 事实上,我认为将db admin和db usage分开是个好主意。 我们实际设置了这里的Oracle数据库安全设置,以便使用不同的数据库用户(DB_OWNER)设置表,而不是运行SELECT,INSERT,DELETE由DB_USER运行的表。
这可以防止意外删除表或修改模式,并且还允许设置DB_USER,以便仅授予绝对必要的权限,这增加了一层安全性。
我想这取决于您的服务/应用程序的性质,但考虑在代码中创建表的好处(以及DDL代码中的可能错误是否会意外地破坏生产数据)。
使用(Simple)JdbcOperations
可用的.update()
方法,它们返回的数字是受影响的行数。 它们应该专门用于INSERT
和UPDATE
语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.