不允许从MyBatis SQL更新、删除、插入或删除

不允许从MyBatis SQL更新、删除、插入或删除,sql,mybatis,Sql,Mybatis,我正在进行一个项目,在这个项目中,我将得到一个随机的SQL查询,该查询应该只加载到一个包含数据的网页中。相当简单。我用MyBatis来做这件事。因此,我加载到程序中的SQL查询,我希望它只接受Select语句。基本上,因为我只希望它显示数据,所以我不希望动态提供SQL查询的人能够更新、插入、删除、删除或创建任何内容。我有没有办法告诉迈巴蒂斯不要接受这个 如果我缺乏任何形式的信息,请毫不犹豫地对我大喊大叫:) 致意 Mikkel你为什么要MyBatis来处理这件事?您可以限制正在使用的数据库中的权

我正在进行一个项目,在这个项目中,我将得到一个随机的SQL查询,该查询应该只加载到一个包含数据的网页中。相当简单。我用MyBatis来做这件事。因此,我加载到程序中的SQL查询,我希望它只接受Select语句。基本上,因为我只希望它显示数据,所以我不希望动态提供SQL查询的人能够更新、插入、删除、删除或创建任何内容。我有没有办法告诉迈巴蒂斯不要接受这个

如果我缺乏任何形式的信息,请毫不犹豫地对我大喊大叫:)

致意


Mikkel

你为什么要MyBatis来处理这件事?您可以限制正在使用的数据库中的权限。此链接可能有助于限制MySQL数据库中的权限


是的,我想让MyBatis来处理这件事。我将得到来自不同数据库的随机查询,因此无法转到单个数据库并修复它。我需要我的程序不允许它。我担心你可能不得不在你的代码中处理它。MyBatis只是在应用程序和数据库之间提供一个接口。你唯一能控制的就是不要自己写任何陈述。因为查询是动态的,所以这也不在您的控制范围之内,所以剩下的唯一方法就是用您自己的代码处理所有事情,而不要考虑myBatis(在应用层限制写访问是一个合适的请求。通常,一个应用只使用一个用户/passwd访问MySql。为了禁止(应用层的)某些用户写入数据库,最简单的方法似乎是只允许该用户在MyBatis层使用“选择”方法。