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 {@Autowiredprivate JDBCProperties properties;/*** 设置数据源和相应的连接属性* @return*/@Beanpublic 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*/@Beanpublic 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>

Spring 通过Java Config方式连接数据库相关推荐

  1. Spring的Java配置方式

    Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1     @Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration ...

  2. SpringBoot_02 Spring的Java配置方式

    1.   Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.1. @Configuration 和 @Bean Spring的Java配置方 ...

  3. Spring Security Java Config Preview--官方

    原文地址:[1]https://spring.io/blog/2013/07/02/spring-security-java-config-preview-introduction/ [2]https ...

  4. SSM框架笔记09:初探Spring——采用Java配置方式

    初探Spring--采用Java配置方式   在上一讲的项目基础上继续.   1.在javaconfig包里创建杀龙任务类SlayDragonQuest package net.hw.spring.c ...

  5. java中channelmessage,MessageStore支持的QueueChannel与Spring Integration Java Config

    Spring Integration reference guide指的是使用MessageStore实现为QueueChannel提供持久性. 提到了很多次,但是所有示例都使用XML配置,即 但是Q ...

  6. 安装WGM需要java嘛,Spring的Java配置方式简单示例

    创建maven工程导入依赖 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&qu ...

  7. Spring MVC之基于java config无xml配置的web应用构建

    更多spring相关博文参考: spring.hhui.top 前一篇博文讲了SpringMVC+web.xml的方式创建web应用,用过SpringBoot的童鞋都知道,早就没有xml什么事情了,其 ...

  8. Spring的Java配置

    Spring的Java配置 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.注解Configuration 和 注解@Bean Spring的Java配置方式是通过 @C ...

  9. java 注解加载配置文件_Spring的Java配置方式和读取properties配置文件

    java配置是spring4.x推荐的配置方式,可以完全替代xml配置. 1.注解 @Configuration 和 @Bean spring的java配置方式是通过@Configuration和@B ...

最新文章

  1. ComplexHeatmap包绘制热图(二)
  2. R语言可视化堆叠(stack)的条形图并通过另外一个分类变量分离(dodge)条形图(stacking by one variable and dodging by another)实战
  3. css3抽奖转盘,从零制作CSS3抽奖大转盘
  4. 【Flink】Pending record count must be zero at this point : 1
  5. C#中的高级测试驱动开发
  6. python编程语言继承_Python 面向对象编程——继承和多态
  7. Android Handler机制分析
  8. python必备入门代码-初学必备:1分钟带你认识Python的代码(上)
  9. 太实用了!这几个Python数据可视化案例!(文末送书)
  10. 联想微型计算机怎么开盖,联想b520一体机拆机图解
  11. idb 怎么回复mysql_MySql数据库通过idb和frm恢复
  12. Python3.7安装Geenlet
  13. 美颜特效、黑白照片上色、AI人像动漫化,达摩院的学习营来了!
  14. 阿里企业云邮箱怎么申请?企业云邮箱登录界面在哪?
  15. 贵州兴义电大学计算机培训,黔西南州机电职业技术学校
  16. 虚云禅师经典佛教语录大全摘抄
  17. HTML5实现一个时钟动画
  18. 华数工业机器人教学视频_华数六轴工业机器人技术知识讲解介绍
  19. 洛谷 P1862 输油管道问题
  20. Python 实现中国地图可视化

热门文章

  1. 八、日志分析系统Nginx,Beats,Kibana和Logstash
  2. 七十、SpringBoot整合 Druid数据源
  3. 云巡更系统 云设备巡检 电子云签到
  4. ​AAAI 2022 | 基于强化学习的视频弹幕攻击
  5. Huggingface BERT源码详解:应用模型与训练优化
  6. 疯狂吸金1600个亿的拼多多,社交网络分析到底隐藏多少财富?
  7. Linux/windows系统定时任务调度总结
  8. 调多大的角度 计算几何
  9. php简单网页制作代码,用HTML和CSS以及JS制作简单的网页菜单界面的代码
  10. 小程序确定取消弹窗_微信小程序定制开发价格确定条件?