# SQLManager SQLManager是BeetlSQL较为底层的类,用于操作数据库,一个系统允许多个SQLManager,原则上,一个SQLManager对应一个业务库,比如一个SQLManager对应订单库,一个SQLManager对应客户库。 如果是多租户,或者分库分表,应该在一个SQLManger内部实现。可以参《多库使用》 > 对于使用BeetlSQL3,掌握SQLManager即可使用,但更推荐的是使用Mapper接口方式,因为他更易于维护。Mapper底层调用了SQLManager API。 构造SQLManger通常是框架集成已经做好的,也可以通过SQLManagerBuilder实现 ```java ConnectionSource source = ConnectionSourceHelper.getSimple(driver, url, "", userName, password); //source是唯一必须的参数,其他参数都有默认值 SQLManagerBuilder builder = new SQLManagerBuilder(source); //设置NameConversion,这里数据库命名采用下划线风格,使用UnderlinedNameConversion builder.setNc(new UnderlinedNameConversion()); //设置一个拦截器,输出debug日志,包含了sql语句和执行参数,执行时间 builder.setInters(new Interceptor[]{new DebugInterceptor()}); //设置数据库分隔,必须跟数据库一样 builder.setDbStyle(new H2Style()); SQLManager sqlManager = builder.build(); ``` 更常见的是,已经有了DataSource,创建ConnectionSource 可以采用如下代码 ```java ConnectionSource source = ConnectionSourceHelper.getSingle(datasource); ``` 如果是主从DataSource ```java ConnectionSource source = ConnectionSourceHelper.getMasterSlave(master,slaves) ```