java – 如何用mybatis运行任意sql?

前端之家收集整理的这篇文章主要介绍了java – 如何用mybatis运行任意sql?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用mybatis进行对象持久化的应用程序.但是我有机会运行任意的sql(来自用户).我可以用mybatis做吗?

更新:

我选择使用dbutils(JDBC)来运行用户定义的sql,但我需要一个DataSource实例来创建QueryRunner.有什么方法可以从mybatis获取数据源吗?

解决方法

我用这个实用类:
  1. import java.util.List;
  2. import org.apache.ibatis.annotations.SelectProvider;
  3.  
  4. public interface sqlMapper {
  5. static class PuresqlProvider {
  6. public String sql(String sql) {
  7. return sql;
  8. }
  9.  
  10. public String count(String from) {
  11. return "SELECT count(*) FROM " + from;
  12. }
  13. }
  14.  
  15. @SelectProvider(type = PuresqlProvider.class,method = "sql")
  16. public List<?> select(String sql);
  17.  
  18. @SelectProvider(type = PuresqlProvider.class,method = "count")
  19. public Integer count(String from);
  20.  
  21. @SelectProvider(type = PuresqlProvider.class,method = "sql")
  22. public Integer execute(String query);
  23. }

猜你在找的Java相关文章