spring-mybatis整合
spring整合mybatis方式一个:使用spring自动注入Mapper接口实现类的对象:使用MapperScannerConfigurer
详细介绍:> https://blog.csdn.net/qq_40863603/article/details/86070139
pom.xml中的依赖:
`
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.3.16</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --><!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.15</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.16</version>
</dependency>
`
编写一个外部配置文件:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/studb jdbc.username=自己数据库的id jdbc.password=密码
编写一个pojo类:
public class User { private Integer id; private String username; private String password; 里面的set,get,tostirng,Constructor}
编写一个UserMapper接口:
@Repository public interface UserMapper { List<User> selectAll(); }
编写一个UserMapper.xml映射文件:
`
编写一个spring-mybatis.xml配置文件:
<context:component-scan base-package="com"/>
<!-- 第一步:引入外部配置文件-->
<context:property-placeholder location="db.properties"/>
<!-- 第二步:配置数据源:使用spring提供的jdbc与数据库进行连接-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 第三步:配置sqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 配置数据源-->
<property name="dataSource" ref="dataSource"/>
<!-- 配置mybatis配置文件-->
<!-- <property name="configLocation" value="mybatis-config.xml"/>-->
<property name="mapperLocations" value="UserMapper.xml"/>
<property name="typeAliasesPackage" value="com.pojo"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.dao.UserMapper"/>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.dao"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<property name="annotationClass" value="com.dao.UserMapper"/>
</bean>
编写一个测试类:
@Test
public void test01(){
ApplicationContext context=new ClassPathXmlApplicationContext("spring-mybatis.xml");
UserMapper userMapper = context.getBean(UserMapper.class);
List
userMapper.selectAll();
for (User user : users) {
System.out.println(user);
}
}`
https://blog.csdn.net/qq_41696858/article/details/98216237:里面介绍了MapperFactoryBean和MapperScannerConfiguration的作用