加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 00:46:19 所属栏目:Java 来源:网络整理
导读:我有一个使用mybatis进行对象持久化的应用程序.但是我有机会运行任意的sql(来自用户).我可以用mybatis做吗? 更新: 我选择使用dbutils(JDBC)来运行用户定义的sql,但我需要一个DataSource实例来创建QueryRunner.有什么方法可以从mybatis获取数据源吗? 解决
我有一个使用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);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读