maven依赖:
<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.20</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.4</version></dependency>
<!-- 数据池,要spring-jdbc不然报错--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.21</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.20</version></dependency></dependencies>
springConfig(主配置类):
@Configuration //定义为配置类
@ComponentScan("xx.xx(涵盖多个包的包)")//包扫描
public class SpringConfig {
}
jdbc(数据连接配置)配置类:
@Configuration
@PropertySource("连接数据库的文件") //例如我的是mysql.db
public class JdbcConfig {@Value("${Mb.driver}")private String driver;@Value("${Mb.url}")private String url;@Value("${Mb.username}")private String username;@Value("${Mb.password}")private String password;@Bean// 把当前方法的返回值对象放入到spring容器中;注意默认使用方法的名字作为对象名称public DruidDataSource dataSource() {DruidDataSource dataSource = new DruidDataSource();dataSource.setUrl(url);dataSource.setDriverClassName(driver);dataSource.setUsername(username);dataSource.setPassword(password);return dataSource;}}
数据库连接文件:
Mb.driver = com.mysql.cj.jdbc.Driver
Mb.url = jdbc:mysql://127.0.0.1:3306/数据库名
Mb.username = 用户名
Mb.password = 密码
mybatis配置类:
@Configuration
public class MybatisConfig {@Bean // SqlSessionFactoryBean 负责给我们产生sqlSession 知道数据源 ,在创建这个对象的时候指定你的数据源public SqlSessionFactoryBean sqlSessionFactoryBean(@Autowired DataSource dataSource) {SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();sqlSessionFactoryBean.setTypeAliasesPackage("pojo包(全限定名)");sqlSessionFactoryBean.setDataSource(dataSource);//config.setMapUnderscoreToCamelCase(true);// 开启驼峰命名 [mybatis 配置文件操作,settings 标签 配置 ]return sqlSessionFactoryBean;}@Beanpublic MapperScannerConfigurer mapperScannerConfigurer() {MapperScannerConfigurer scannerConfigurer = new MapperScannerConfigurer();scannerConfigurer.setBasePackage("dao包(全限定名)");return scannerConfigurer;}
}
使用:
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class);
Mapper类 Mapper类对象 = applicationContext.getBean(mapper类.class);
Mapper类对象.方法