Discuss / Java / 综合运用开始迷糊了

综合运用开始迷糊了

Topic source

我试图建立一个springboot运用

1.我需要一个Databasesource

我理解这个是应该在建立了springboot应用,再配好application.yml,在里面定义好spring datasource这一堆,包括用户密码url dirver-class-name 这些就由springboot自动去建好了,我并不需要去initiate这个database source 看廖老师的本节的例子,也是直接开始autowire一个jdbctemplate来搞了

但是一旦当我需要去用hikari datasource我就不晓得怎么搞了。我似乎需要自己去建立一个datasource 把hikari config设好再去根据这个config建立hikari datasource,也就是说脱离了springboot的范围了

我希望的是用hikari datasource去实现连接池的管理我就不操心了

@Configuration@EnableConfigurationProperties@ConfigurationProperties(prefix="spring.datasource")
//读application.yml中spring datasource那个底下的
public class DBInitializer {

    private String url;
    private String username;
    private String password;

    @Bean    
    public DataSource getDataSource() {

        HikariConfig config = new HikariConfig();
        config.setJdbcUrl(url);
        config.setUsername(username);
        config.setPassword(password);
        return new HikariDataSource(config);
    }

    @Bean    LocalSessionFactoryBean createSessionFactory(@Autowired DataSource dataSource) {
        var props = new Properties();
         props.setProperty("hibernate.dialect", "org.hibernate.dialect.SQLServerDialect");
        props.setProperty("hibernate.show_sql", "true");
        var sessionFactoryBean = new LocalSessionFactoryBean();
        sessionFactoryBean.setDataSource(dataSource);
        // 扫描指定的package获取所有entity class:        
        sessionFactoryBean.setPackagesToScan(AbstractEntity.class.getPackageName());
        sessionFactoryBean.setHibernateProperties(props);
        return sessionFactoryBean;
    }

    @Bean   
   HibernateTemplate createHibernateTemplate(@Autowired SessionFactory sessionFactory) {
        return new HibernateTemplate(sessionFactory);
    }

    @Bean    PlatformTransactionManager createTxManager(@Autowired SessionFactory sessionFactory) {
        return new HibernateTransactionManager(sessionFactory);
    }
}

2.我需要一个ORM

它做到 a)map取出来的db的resultset和我定义的entity的class b)映射一些sql语句

我选择了Hibernate.在老师的这一节中有用法:https://www.liaoxuefeng.com/wiki/1252599548343744/1266263275862720

可是这里好像没有明显的把resultset和class map起来的,还是说hibernateTemplate本身就实现了这个map?

3.我希望我的是restful接口,返回给前台的vue用

用老师这里的例子:https://www.liaoxuefeng.com/wiki/1252599548343744/1282384941023266 应该没有问题

求老师或者各位小伙伴们给点火花,谢谢


  • 1

Reply