spring-mybatis整合

spring整合mybatis方式一个:使用spring自动注入Mapper接口实现类的对象:使用MapperScannerConfigurer
详细介绍:> https://blog.csdn.net/qq_40863603/article/details/86070139

pom.xml中的依赖:
`


junit
junit
4.13.2
test



mysql
mysql-connector-java
8.0.28



org.mybatis
mybatis
3.5.2

<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 users =
userMapper.selectAll();
for (User user : users) {
System.out.println(user);
}

}`

https://blog.csdn.net/qq_41696858/article/details/98216237:里面介绍了MapperFactoryBean和MapperScannerConfiguration的作用

posted @ 2022-03-08 08:55  当个码农吧  阅读(32)  评论(0)    收藏  举报