我试图使用iBatis为Oracle数据库执行DDL命令。 我想使用iBatis执行以下查询,我应该如何执行。我正在使用struts 1.2进行编码。
CREATE USER USER1..;
我尝试过使用iBatis的元素,但它不起作用。 请有人为我提供快速解决方案。
答案 0 :(得分:0)
iBatis不正式支持DDL,但仍然多次使用iBatis成功执行。 我已经采用了一个简单的DDL命令来创建用户,该命令在Oracle中正确运行。
CREATE USER MYUSER IDENTIFIED BY PASSWORD;
然后在iBatis中使用了映射语句。 <statement>
映射语句可以包含任何SQL语句。我从this链接引用了iBatis的映射语句
然后我用创建用户DDL为iBatis创建了语句,并将参数类作为UserToCreate
传递。
<statement id="createUser" parameterClass="UserToCreate">
CREATE USER #userName# IDENTIFIED BY PASSWORD
</statement>
UserToCreate.java 文件是一个bean,其中包含与要创建的用户相关的数据。
public class UserToCreate{
private String userName;
// Any other field variable
//Getter Setter methods
}
现在调用Create User iBatis语句只需编写使用代码:
UserToCreate user = new UserToCreate();
user.setName("MYUSER");
// sqlMap is an object of ibatis SqlMapClient
sqlMap.update("createUser", user);
这将创建一个新的Oracle用户,由变量userName
中的用户名指定。