1.
第一步:导入坐标:
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version> 3.5.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version> 2.0.6</version> </dependency> <!-- C3P0连接池(可导入其它连接池) --> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency>
C3P0连接池 : C3P0是一个开源的JDBC连接池,它实现了数据源与JNDI绑定,支持JDBC3规范和实现了JDBC2的标准扩展说明的Connection和Statement池的DataSources对象。
即将用于连接数据库的连接整合在一起形成一个随取随用的数据库连接池
使用连接池的明显优势:
1.资源的高效利用
2.更快的系统反应速度
3.减少了资源独占的风险
4.统一的连接管理,避免数据库连接泄露
2.在spring-config中配置:
<!--在Spring的配置文件中整合MyBatis,配置数据源--> <bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="dataSource"> <property name="driverClass" value="com.mysql.cj.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://localhost/库名?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8"></property> <property name="user" value="用户名"></property> <property name="password" value="密码"></property> </bean>
<!--配置SqlSessionFactoryBean, 用于加载Mybatis的核心配置文件, 把MyBatis的核心配置类交给spring管理--> <bean id="factoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--配置MyBatis的数据源--> <property name="dataSource" ref="dataSource" /> <!--加载MyBatis的核心配置文件--> <property name="configLocation" value="classpath:mybatis-config.xml" /> </bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactoryBeanName" value="factoryBean"></property> <!-- mapper的全路径--> <property name="basePackage" value="com.njs.wd.mapper"></property> </bean>
注意:mapper包中的接口与对应的.xml不在一个包下,那么.xml与接口的全路径要相同;
如接口在com.mybatis.mapper下,那么 .xml在资源包的目录也要为com.mybatis.mapper。
配置完成,在业务逻辑层使用采用注入使用mapper:
@Autowired private UserMapper userMapper;