java - 在没有xml的情况下在spring boot中连接到mysql数据源

标签 java mysql database spring-boot

我使用了 Spring In Action 4 一书中的一些示例。

@Bean
public DataSource dataSource() {
    return new EmbeddedDatabaseBuilder()
            .setType(EmbeddedDatabaseType.H2)
            .addScript("thetenticle.sql")
            .build();
}

@Bean
public JdbcOperations jdbcTemplate(DataSource dataSource) {
    return new JdbcTemplate(dataSource);
}

该示例创建了一个可用于执行数据库操作的数据源。该示例使用嵌入式 h2 数据库。这对我没有用,因为我想远程连接到 mysql 数据库。我希望我可以连接一个具有我的数据库连接详细信息的 DataSource 对象。有什么办法可以做到这一点。我对 hibernate 或 xml 配置没有任何兴趣。我正在使用 Spring Boot 。

在过去的 18 个小时里,我一直在努力寻找一个简单的示例,该示例创建一个 mysql 数据源而不是嵌入式 h2 并将查询发送到数据库。我还没有找到这方面的一个例子。一些站点建议将连接详细信息添加到 application.properties....但是我如何从中创建一个数据源,我可以对其进行 sql 查询?

对不起,我的无知,但我只需要一个简单的解释

最佳答案

有关快速历史课,请参阅下文。

进行 application.properties 设置,如您在网上看到的许多示例中所述:

spring.datasource.url=jdbc:mysql://yourhost/yourdb
spring.datasource.username=youruser
spring.datasource.password=yourpass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

Spring 将为您创建一个 DataSource,假设您的类路径中有合适的 jar。如果您使用 Maven 或 Gradle 来构建您的应用程序,以下 list 应该可以帮助您实现这一目标。

专家:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    <version>1.3.5.RELEASE</version>
</dependency>

Gradle :

compile group: 'org.springframework.boot', name: 'spring-boot-starter-jdbc', version: '1.3.5.RELEASE'

最后,让 AutoConfiguration 为您构建您的 JdbcOperations 对象(或者只是您的 DataSource,如果您愿意的话)。您无需执行任何操作即可创建它们,只需将它们@Autowired 到您的 Spring 托管 bean 中即可。

@Component
public class MyBean {
    @Autowired
    private JdbcOperations jdbc;

    public void doJdbcStuff() {
        // use jdbc
    }
}

历史课

早期,Spring 的目标是减少样板代码(这只是他们的众多目标之一)。他们以许多不同的方式做到了这一点,通过使许多 API 具有声明性,利用模板模式,并使配置用 Java 编写的应用程序变得容易。但在这个过程中,配置在许多大型应用程序中变成了一个怪物。他们很快意识到,他们已经将创建应用程序的大部分复杂性从应用程序的实际业务部分转移到了配置上。

这就是 SpringBoot 的用武之地,其目标是减少配置样板。有几种方法可以实现这一点, Material list 、自动配置和 application.properties 配置是主要方法。


听起来您好像一直在学习Spring in Action,第 4 版,作者是 Craig Walls。如果您喜欢它,并且您打算继续学习 SpringBoot,他还撰写了 SpringBoot in Action,该书于 2015 年底发布。阅读速度非常快,共 264 页,并回顾了我上面的历史类(class)更彻底一些。

关于java - 在没有xml的情况下在spring boot中连接到mysql数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37369542/

相关文章:

java - 使用 Xpath 或 CSS 选择器单击带有 Selenium 的按钮

java - 交换整数堆栈中的对?

java - 为什么编译器没有给出这个加法操作的错误?

java - sql 异常 无法使用 SELECT 查询对 SELECT 发出executeUpdate

mysql - T-SQL 存储过程 CASE 问题

php - 需要通过php文件更改mysqli_query输出格式

database - 查找缺少任意字段的 CouchDB 文档

java - 使用 JAVA 和 Tomcat 重定向到主页的问题

r - 无法在 Linux 上使用 ROracle 连接到 Oracle 数据表(错误 ORA-01804,能够使用 Sql*Plus)

mysql - 列出MySQL中没有数据库的用户