Spring 通过Java Config方式连接数据库

1.dao层结构图

2.配置文件配置数据源

#dao层mybatis配置
spring.datasource.url=jdbc:mysql://localhost:3306/demo?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useAffectedRows=true
spring.datasource.username=root
spring.datasource.password=123456

3.Java API读取数据库配置

(1)使用@ConfigurationProperties注解

ConfigurationProperties(prefix = "spring.datasource"):为当前注入的bean对象读取配置文件以spring.datasource开头的配置项,如果之后的部分和实体类的属性一致的话,会将配置的内容注入给对象的属性中

@Data
@AllArgsConstructor
@NoArgsConstructor
@ConfigurationProperties(prefix = "spring.datasource")
public class JDBCProperties {
    private String url;
    private String username;
    private String password;
    private String driver;
}

(2)Mybatis映射mapper、xml文件配置

/**
 * 1.注入配置文件
 * 2.加载jdbc文件配置
 * 3.开启事务
 * 4.扫描java mapper文件地址
 */
@Configuration
@EnableConfigurationProperties(com.vivo.internet.demo.dao.config.JDBCProperties.class)
@EnableTransactionManagement
@MapperScan("com.vivo.internet.demo.dao.mapper")
public class MybatisConfig {
    @Autowired
    private JDBCProperties properties;
    
    /**
     * 设置数据源和相应的连接属性
     * @return
     */
    @Bean
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl(properties.getUrl());
        dataSource.setUsername(properties.getUsername());
        dataSource.setPassword(properties.getPassword());
        dataSource.setDriverClassName(properties.getDriver());
        return dataSource;
    }

    /**
     * 创建sql连接,映射mapper.xml文件地址,加载mybatis配置
     * @param dataSource
     * @return
     * @throws IOException
     */
    @Bean
    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) throws IOException {
        SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
        sqlSessionFactory.setDataSource(dataSource);
        PathMatchingResourcePatternResolver pmrpr = new PathMatchingResourcePatternResolver();
        String mapperPattern = "META-INF/mybatis/*.xml";
        Resource[] configResource = pmrpr.getResources(mapperPattern);
        sqlSessionFactory.setMapperLocations(configResource);
        sqlSessionFactory.setConfigLocation(new ClassPathResource("META-INF/mybatis-configs.xml"));
        return sqlSessionFactory;
    }
}

(3)mybatis xml文件配置,为上面的mybatis-configs.xml,用于日志打印,包名使用别名等

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <settings>
        <!-- 打印sql日志 -->
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>

</configuration>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值