若是不须要链接池,那么只须要简单的在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