介绍
这篇文章给大家介绍使用springboot如何实现对beatlsql进行整合,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
BeetSql是一个全功能刀工具,同时具有hibernate优点,Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用。
<强> beatlsql优点强>
- <李>开发效率
- <李>无需注解,自动使用大量内置SQL,轻易完成增删改查功能,节省50%的开发工作量李> <李>数据模型支持Pojo,也支持Map/列表这种快速模型,也支持混合模型李> <李> SQL模板基于Beetl实现,更容易写和调试,以及扩展李>
- <李> SQL以更简洁的方式,减价方式集中管理,同时方便程序开发和数据库SQL调试。李> <李>可以自动将SQL文件映射为刀接口类李> <李>灵活直观的支持支持一对一,一对多、多对多关系映射而不引入复杂的OR映射概念和技术。李> <李>具备拦截器功能,可以调试,性能诊断SQL,以及扩展其他功能李>
- <李>内置支持主从数据库支持的开源工具李> <>李支持跨数据库平台,开发者所需工作减少到最小,目前跨数据库支持mysql, postgres、oracle、状态"置疑" h3, sqllite这样,DB2。
,李,>
<强>引入依赖强>
& lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-devtools & lt; optional> true & lt;/dependency> & lt; dependency> & lt; groupId> com.ibeetl & lt; artifactId> beetl & lt; version> 2.3.2 & lt;/dependency> & lt; dependency> & lt; groupId> com.ibeetl & lt; artifactId> beetlsql & lt; version> 2.3.1 & lt;/dependency> & lt; dependency> & lt; groupId> mysql & lt; artifactId> mysql-connector-java & lt; version> 5.0.5 & lt;/dependency>
这几个依赖都是必须的。
<强>整合阶段强>
由于springboot没有对beatlsql的快速启动装配,所以需要我自己导入相关的bean,包括数据源,包扫描,事物管理器等。
在应用程序加入以下代码:
@ bean (initMethod=癷nit", name=癰eetlConfig") 公共BeetlGroupUtilConfiguration getBeetlGroupUtilConfiguration () { BeetlGroupUtilConfiguration BeetlGroupUtilConfiguration=new BeetlGroupUtilConfiguration (); ResourcePatternResolver patternResolver=ResourcePatternUtils。getResourcePatternResolver(新DefaultResourceLoader ()); 尝试{//WebAppResourceLoader配置根路径是关键 WebAppResourceLoader WebAppResourceLoader=new WebAppResourceLoader (patternResolver.getResource(“类路径:/templates") .getFile () .getPath ()); beetlGroupUtilConfiguration.setResourceLoader (webAppResourceLoader); }捕捉(IOException e) { e.printStackTrace (); }//读取配置文件信息 返回beetlGroupUtilConfiguration; } @ bean (name=癰eetlViewResolver") 公共BeetlSpringViewResolver getBeetlSpringViewResolver (@ qualifier (“beetlConfig")BeetlGroupUtilConfiguration BeetlGroupUtilConfiguration) { BeetlSpringViewResolver BeetlSpringViewResolver=new BeetlSpringViewResolver (); beetlSpringViewResolver.setContentType (“text/html; charset=UTF-8"); beetlSpringViewResolver.setOrder (0); beetlSpringViewResolver.setConfig (beetlGroupUtilConfiguration); 返回beetlSpringViewResolver; }//配置包扫描 @ bean (name=癰eetlSqlScannerConfigurer") 公共BeetlSqlScannerConfigurer getBeetlSqlScannerConfigurer () { 配置=new BeetlSqlScannerConfigurer BeetlSqlScannerConfigurer (); conf.setBasePackage (“com.forezp.dao"); conf.setDaoSuffix (“Dao"); conf.setSqlManagerFactoryBeanName (“sqlManagerFactoryBean"); 返回相依; } @ bean (name=皊qlManagerFactoryBean") @Primary 公共SqlManagerFactoryBean getSqlManagerFactoryBean (@ qualifier (“datasource")数据源的数据源){ SqlManagerFactoryBean工厂=new SqlManagerFactoryBean ();=new BeetlSqlDataSource BeetlSqlDataSource来源(); source.setMasterSource(数据源); factory.setCs(源); 工厂。setDbStyle(新MySqlStyle ()); 工厂。setInterceptors(新的拦截器[]{新DebugInterceptor ()}); 工厂。setNc(新UnderlinedNameConversion());//开启驼峰 工厂。setSqlLoader(新ClasspathLoader (“/sql"));//sql文件路径 返回工厂; }//配置数据库 @ bean (name=癲atasource") 公共数据源getDataSource () { 返回DataSourceBuilder.create () .url (“jdbc: mysql://127.0.0.1:3306/test") .username (“root") .password (“123456“) .build (); }//开启事务 @ bean (name=皌xManager") 公共DataSourceTransactionManager getDataSourceTransactionManager (@ qualifier (“datasource")数据源的数据源){ DataSourceTransactionManager dsm=new DataSourceTransactionManager (); dsm.setDataSource(数据源); 返回dsm; }使用springboot如何实现对beatlsql进行整合