若是不須要鏈接池,那麼只須要簡單的在pom文件中,添加mysql依賴:java
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>xxx.xxx.xxx</version> </dependency>
而後在配置文件中添加配置:mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://hostname:port/xxxxxx?autoReconnect=true&failOverReadOnly=false&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true spring.datasource.username=xxxxxx spring.datasource.password=xxxxxx
MySQL datasource 就配置完了。spring
若是使用鏈接池,則須要一個數據庫配置類,以下是使用 PooledDataSource 的 Java 配置文件:sql
package cn.liuxingwei.judge.config; import org.apache.ibatis.datasource.pooled.PooledDataSource; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.Resource; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; /** * 數據源相關配置 * @author liuxingwei */ @Configuration @EnableTransactionManagement public class DataConfiguration { /** * mysql driver 變量,取自外掛配置文件 * @author liuxingwei */ @Value("${spring.datasource.driver-class-name}") private String mysqlDriver; /** * mysql 鏈接 url,取自外掛配置文件 * @author liuxingwei */ @Value("${spring.datasource.url}") private String mysqlUrl; /** * mysql 鏈接用戶名,取自外掛配置文件 * @author liuxingwei */ @Value("${spring.datasource.username}") private String mysqlUsername; /** * mysql 鏈接密碼,取自外掛配置文件 */ @Value("${spring.datasource.password}") private String mysqlPassword; /** * 數據源(dataSource)定義 * @author liuxingwei * @return DataSource */ @Bean public PooledDataSource dataSource() { PooledDataSource dataSource = new PooledDataSource(); dataSource.setDriver(mysqlDriver); dataSource.setUrl(mysqlUrl); dataSource.setUsername(mysqlUsername); dataSource.setPassword(mysqlPassword); return dataSource; } }
MyBatis 也不須要特殊的配置,只要在pom中加上依賴:數據庫
<dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>xxx.xxx.xxx</version> </dependency>
而後分別建立實體類、Mapper 接口和 Mapper XML 文件,就能夠使用了。附上一個可用於 Eclipse 的 MyBatis Generator 插件的配置文件:apache
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <context id="MySqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="autoDelimitKeywords" value="true"/> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <commentGenerator> <property name="suppressDate" value="true"/> <property name="addRemarkComments" value="true"/> </commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://hostname:port/judge?autoReconnect=true&failOverReadOnly=false&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true" userId="root" password="123456"></jdbcConnection> <javaModelGenerator targetPackage="cn.liuxingwei.judge.domain" targetProject="judge/src/main/java"> <property name="trimStrings" value="true"/> </javaModelGenerator> <sqlMapGenerator targetPackage="cn.liuxingwei.judge.mapper" targetProject="judge/src/main/resources"/> <javaClientGenerator type="XMLMAPPER" targetPackage="cn.liuxingwei.judge.mapper" targetProject="judge/src/main/java"/> <table tableName="%"> <generatedKey column="id" sqlStatement="MySql"/> <domainObjectRenamingRule searchString="^T" replaceString="" /> </table> </context> </generatorConfiguration>
順便提一句,若是數據庫的字符編碼爲 UTF8,能夠在鏈接 url 中添加 characterEncoding=UTF-8 來實現,沒必要管 MySQL 服務器自己的設置:服務器
spring.datasource.url=jdbc:mysql://hostname:port/xxx?characterEncoding=UTF8&autoReconnect=true&failOverReadOnly=false
可是若是數據庫編碼爲 UTF8MB4,是不能簡單地把鏈接串中的 UTF8 換成 UTF8MB4 的,會報錯,只能是在 MySQL 的配置文件(my.cnf)中將 MySQL 的默認字符集設置爲 utf8mb4,鏈接串中再也不設置 characterEncoding。session