赞
踩
mysql、mybatis、spring的依赖(都是基础的)
- <dependencies>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>8.0.17</version>
- </dependency>
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- <version>3.4.6</version>
- </dependency>
-
- </dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>5.2.10.RELEASE</version>
- </dependency>
Spring中操作数据库专用的包:
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jdbc</artifactId>
- <version>5.2.10.RELEASE</version>
- </dependency>
Spring整合mybatis用的包:
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis-spring</artifactId>
- <version>1.3.2</version>
- </dependency>
首先在配置文件中,需要这两个配置文件:JdbcConfig(管理第三方的数据源)和SpringConfig(实现用注解开发)
JdbcConfig中代替最初mybatis-config.xml中的这一部分
- <dataSource type="POOLED">
- <property name="driver" value="${jdbc.driver}"/>
- <property name="url" value="${jdbc.url}"/>
- <property name="username" value="${jdbc.username}"/>
- <property name="password" value="${jdbc.password}"/>
- </dataSource>
使用的为Druid数据源
- public class JdbcConfig {
- @Value("${jdbc.driver}")
- private String driver;
- @Value("${jdbc.url}")
- private String url;
- @Value("${jdbc.username}")
- private String userName;
- @Value("${jdbc.password}")
- private String password;
-
- @Bean
- public DataSource dataSource(){
- DruidDataSource ds = new DruidDataSource();
- ds.setDriverClassName(driver);
- ds.setUrl(url);
- ds.setUsername(userName);
- ds.setPassword(password);
- return ds;
- }
- }
Value注解中如何读取jdbc.properties?
答:在SpringConfig中,也就是最基础的配置文件增加对应的properties文件注解:
@PropertySource("classpath:jdbc.properties")
当JdbcConfig配置完成之后导入到SpringConfig下
@Import({JdbcConfig.class ,MybatisConfig.class})
此时即可以访问数据库了。
对于Mybatis-config.XML中的文件来说
第二层、第三层的内容都是为SqlSessionFactory服务,使创建的对象可以openSession()
这一段的内容是连接对应的数据库来写的,这一部分相当于JdbcConfig来完成了。
所以MyBaitsConfig中的配置如下
- public class MybatisConfig {
- @Bean
- public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){
- SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
- ssfb.setTypeAliasesPackage("com.itheima.domain");
- ssfb.setDataSource(dataSource);
- return ssfb;
- }
-
- @Bean
- public MapperScannerConfigurer mapperScannerConfigurer(){
- MapperScannerConfigurer msc = new MapperScannerConfigurer();
- msc.setBasePackage("com.itheima.dao");
- return msc;
- }
- }
在创建SqlSessionFactory的函数内都是与原始的Mybatis-Config对应的。
事务管理使用mybatis-spring中默认配置的。
这里就是构建对应的映射文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。