MyBatis与Spring框架整合

2021-07-08
0

该项目过程紧接博客MyBatis使用方法详解中的项目过程。

  1. 下载MyBatis与Spring整合jar包:
    a. 点击 https://github.com/mybatis/spring 链接。
    在这里插入图片描述
    b. 点击上图紫框框起位置即可到达下载jar包页面
  2. 创建一个web工程,导入如下相应jar包
    在这里插入图片描述
  3. 创建spring配置文件application.xml并添加如下配置信息:
    <!-- 配置数据库连接数据源 -->
    <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
    	<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
    	<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/test"></property>
    	<property name="username" value="root"></property>
    	<property name="password" value="root"></property>
    </bean>
    
    <!-- 创建SqlSessionFactoryBean对象 -->
    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
    	<!-- 指定数据源,此时mybatis_config.xml中environments标签将不再起作用。注意:dataSource属性必须配置,即MyBatis和Spring整合后,将不再使用mybatis_config.xml全局配置文件中数据库配置 -->
    	<property name="dataSource" ref="dataSource"></property>
    	<!-- configLocation指定全局配置文件位置 -->
    	<property name="configLocation" value="classpath:mybatis_config.xml"></property>
    	<!--
    		mapperLocations: 指定XML映射文件位置,此时需要将mybatis_config.xml文件mappers标签删掉,如果不删掉,将会报映射重复错误
    		sql/*.xml:表示通配sql包下的所有xml文件
    	-->
    	<property name="mapperLocations" value="classpath:sql/*.xml"></property>
    </bean>
    	
    <!-- 
    	扫描com.zzu包及其子包下的mapper接口并生成响应代理对象;
    	base-package:指定mapper接口的包名 注意:该标签只对接口感冒! 
    -->
    <mybatis-spring:scan base-package="com.zzu"/>
    
    <!-- 
    	context:component-scan标签作用如下:
    	扫描其base-package标签属性值指定的包内的类、实例化被@Component、@Repository、@Service或@Controller等类注解所注解的类以及为这些类中有@Autowired、 @Resource 或@Inject注解的属性赋值。
    -->
    <context:component-scan base-package="com.zzu" />
    
  4. 测试所用Test类代码如下:
    package test;
    
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.zzu.area.IAreaDao;
    
    public class Test {
          
          
    	public static void main(String[] args) {
          
          
    		ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("application.xml");
    		IAreaDao areaDao = applicationContext.getBean(IAreaDao.class);
    		areaDao.getName("1");
    		applicationContext.close();
    	}
    }
    
    执行结果:

    北京

https://blog.csdn.net/qq_41135704/article/details/97026559

相关信息

评论