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

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

更新:

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

解决方法

我用这个实用类:
import java.util.List;
import org.apache.ibatis.annotations.SelectProvider;

public interface sqlMapper {
    static class PuresqlProvider {
        public String sql(String sql) {
            return sql;
        }

        public String count(String from) {
            return "SELECT count(*) FROM " + from;
        }
    }

    @SelectProvider(type = PuresqlProvider.class,method = "sql")
    public List<?> select(String sql);

    @SelectProvider(type = PuresqlProvider.class,method = "count")
    public Integer count(String from);

    @SelectProvider(type = PuresqlProvider.class,method = "sql")
    public Integer execute(String query);
}

猜你在找的Java相关文章