codecamp

Hasor 读写数据库

例如我们使用 c3p0 作为数据库连接池,连接并操作我们的数据库,第一步是创建 c3p0 数据源。

ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass("......");
dataSource.setJdbcUrl("......");
dataSource.setUser("......");
dataSource.setPassword("......");
........


接下来第二步初始化 Hasor 的数据库框架。

AppContext appContext = Hasor.createAppContext(new Module() {
    public void loadModule(ApiBinder apiBinder) throws Throwable {
        ......
        ComboPooledDataSource dataSource = ...
        apiBinder.installModule(new DBModule(dataSource));
    }
});


如果您想同时连接多个数据源,那么只需要在 new DBModule 的时候通过给定一个名称来加以区分。

apiBinder.installModule(new DBModule("dataSource1" ,dataSource1));
apiBinder.installModule(new DBModule("dataSource2" ,dataSource2));


最后一步,在程序中使用数据库框架操作我们的数据库。Hasor 操作数据库主要是通过 JdbcOperations接口 或者 JdbcTemplate类来实现。当然您也可以结合其它数据库框架一同使用。例如 Hasor的官方网站就是使用 Hasor DBModule + MyBatis ORM 的方案。下面是通过 JdbcTemplate 形式操作数据库:

public class MyDAO {
    @Inject
    private JdbcTemplate jdbcTemplate;
};


如果之前您的环境中用的是多数据源,那么在 @Inject 时候通过名称绑定一下数据源即可使用。


public class MyDAO {
    @Inject("dataSource1")
    private JdbcTemplate jdbcTemplateA;
    @Inject("dataSource2")
    private JdbcTemplate jdbcTemplateB;
};


Hasor Aop拦截方法调用
Hasor 数据库事务
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }