Spring boot (二) +jpa/mybatis/beatlsql

JPA教程可看我的关于jpa的博客,个人感觉比mybatis灵活

实战:

1.导入依赖

org.springframework.boot
spring-boot-starter-data-jpa

2.在yml配置里除了datasource: 再添加jpa的配置
Jpa:
Hibernate:
ddl-auto: update #第一次用create 以后用update
Show-sql: true
database: mysql
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect 修改引擎
3.创建实体类,通过实体类生成表,具体方法,看自己的博客
特别提醒,要自动注入创建时间和创建人的话,启动项上增加@EnableJpaAuditing

spring boot+mybatis

1.引入pom的mybatis的依赖

org.mybatis.spring.boot
mybatis-spring-boot-starter 1.3.0

3.其他xml.mapper等都一样

spring boot+beatlsql

1.全功能的dao工具,生成大量内置sql
2.无需注解
3.导入依赖

org.springframework.boot
spring-boot-devtools true


com.ibeetl
beetl
2.3.2


com.ibeetl
beetlsql
2.3.1

4.由于spring boot对beatlsql没有启动快速装配,我们要自己导入相关的bean,包括数据源,包扫描,事务管理器
在application启动项里加上
@Bean(initMethod = “init”, name = “beetlConfig”)
Public BeetlGroupUtilConfiguration getBeetlGroupUtilConfiguration(){
BeetlGroupUtilConfiguration beetlGroupUtilConfiguration =
new BeetlGroupUtilConfiguration();
ResourcePatternResolver patternResolver = ResourcePatternUtils.getResourcePatternResolver(new DefaultResourceLoader());
try {
// WebAppResourceLoader 配置root路径是关键
WebAppResourceLoader webAppResourceLoader = new WebAppResourceLoader(patternResolver.getResource(“classpath:/templates”).getFile().getPath());
beetlGroupUtilConfiguration.setResourceLoader(webAppResourceLoader);
} catch (IOException e) {
e.printStackTrace();
}
//读取配置文件信息
return beetlGroupUtilConfiguration;
}

@Bean(name = “beetlViewResolver”)
public BeetlSpringViewResolver getBeetlSpringViewResolver(@Qualifier(“beetlConfig”) BeetlGroupUtilConfiguration beetlGroupUtilConfiguration) { BeetlSpringViewResolver beetlSpringViewResolver = new BeetlSpringViewResolver(); beetlSpringViewResolver.setContentType(“text/html;charset=UTF-8”); beetlSpringViewResolver.setOrder(0); beetlSpringViewResolver.setConfig(beetlGroupUtilConfiguration); return beetlSpringViewResolver; }

//配置包扫描 @Bean(name = “beetlSqlScannerConfigurer”) public BeetlSqlScannerConfigurer getBeetlSqlScannerConfigurer() { BeetlSqlScannerConfigurer conf = new BeetlSqlScannerConfigurer(); conf.setBasePackage(“com.forezp.dao”); conf.setDaoSuffix(“Dao”); conf.setSqlManagerFactoryBeanName(“sqlManagerFactoryBean”); return conf; }

@Bean(name = “sqlManagerFactoryBean”) @Primary public SqlManagerFactoryBean getSqlManagerFactoryBean(@Qualifier(“datasource”) DataSource datasource) { SqlManagerFactoryBean factory = new SqlManagerFactoryBean(); BeetlSqlDataSource source = new BeetlSqlDataSource(); source.setMasterSource(datasource); factory.setCs(source); factory.setDbStyle(new MySqlStyle()); factory.setInterceptors(new Interceptor[]{new DebugInterceptor()}); factory.setNc(new UnderlinedNameConversion());//开启驼峰 factory.setSqlLoader(new ClasspathLoader("/sql"));//sql文件路径 return factory; }
//配置数据库 @Bean(name = “datasource”) public DataSource getDataSource() { return DataSourceBuilder.create().url(“jdbc:mysql://127.0.0.1:3306/test”).username(“root”).password(“123456”).build(); } //开启事务 @Bean(name = “txManager”) public DataSourceTransactionManager getDataSourceTransactionManager(@Qualifier(“datasource”) DataSource datasource) { DataSourceTransactionManager dsm = new DataSourceTransactionManager(); dsm.setDataSource(datasource); return dsm; }
在sources包下,加META_INF文件夹,里面加spring-devtools.properties;
restart.include.beetl=/beetl-2.3.2.jar restart.include.beetlsql=/beetlsql-2.3.1.jar
在templates下加index.btl
1.创建实体类user 2,。创建接口dao
public interface userDao extends BaseMapper {
@SqlStatement(params = “name”)
User selectUserByName(String name); }
1.在resourses/sql/account.md里写sql文件
selectUserByName
= = = *标识上面是唯一标识符,和接口的方法名一致
Select * from User where name= # name#

然后其他层不变

猜你喜欢

转载自blog.csdn.net/weixin_39940088/article/details/86645889