Spring(四):spring+mybatis

实现步骤:

1、新建maven

2、加入maven依赖

  • spring的依赖
  • mybatis依赖
  • mysql的驱动
  • spring的事务的依赖
  • mybatis和spring的集成的依赖:mybatis官方的,用来在spring项目中创建mybatis的sqlsessionfactory,dao对象的

3、创建实体类

4、创建dao接口和mapper文件

注意:一个dao接口对应一个数据库的表

5、创建mybatis的主配置文件

 <!--设置别名,不是必须的-->
    <typeAliases>
        <!--name:实体类所在的包名
        
        -->
        <package name="实体类所在的包名"/>
    </typeAliases>
     <!-- sql mapper(sql映射文件)的位置-->
    <mappers>
        <!--
        这个是必须的
          name:是包名, 这个包中的所有mapper.xml一次都能加载
        -->

        <package name="dao所在的包名"/>

    </mappers>

6、 声明mybatis的对象交给spring创建

  • 数据源DataSource
  • Dao接口
  <!--声明数据源Datasource,作用是连接数据库的-->
    <bean id="myDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init"
          destroy-method="close">
        <!--set注入,给duriddatasource提供数据库的信息-->
        <!--
        使用属性配置文件的数据,语法${}
        -->
        <property name="url" value=""/><!--seturl-->
        <property name="username" value=""/>
        <property name="password" value=""/>
        <property name="maxActive" value=""/>
    </bean>

一般而言,我们对于属性的配置放在一个.properties文件中
在spring的主配置文件中需要声明这个.properties文件的位置

<context:property-placeholder location="classpath:文件名.properties" />
<!---这个文件名的根目录是resource->
 <!--
        使用属性配置文件的数据,语法${}
 -->
  • SqlSessionFactory
<!--声明的是mybatis中提供的sqlsessionfactorybean类,这个类内部创建sqlsessionfactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--set注入,把数据库的连接池赋给了datasource属性-->
        <property name="dataSource" ref="myDataSource"/>
        <!--mybatis主配置文件的位置
        configLocation属性是Resource类型,读取配置文件
        他的赋值使用value,指定文件的路径,使用classpath:表示文件的位置-->
        <property name="configLocation" value="classpath:mybatis.xml"/>
    </bean>
    <!--创建dao对象,使用sqlsession的getmapper,
    mapperscannerconfigurer:在内部调用getmapper,生成每个dao接口的代理对象-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <!--指定包名,包名是dao接口所在的包名
        MapperScannerConfiguer:会扫描这个包中的所有类,
        把每个接口都执行一次getMapper()方法,得到每个接口的dao对象。
        创建好的dao对象放入到spring的容器中
        -->
        <property name="basePackage" value="dao包名所在路径"/>

    </bean>
  • 声明自定义的service

猜你喜欢

转载自blog.csdn.net/qq_41984117/article/details/109662028