1、项目结构里面,文件夹的类型
记idea maven整合spring mybatis途中踩过的几个坑以及流程
这其中java文件夹要设置成source root类型,resources要设置成resources root 类型,各种类型文件的区别可以看这里:https://blog.csdn.net/xiaohei_neko/article/details/79353605
这一步如果类型设置不对的话,idea会自动给你添加一些不对的包名,最后还得手动改过来……
附上后续整个的结构:
记idea maven整合spring mybatis途中踩过的几个坑以及流程

2、各种配置文件该放的地方
applicationContext.xml:放在WEB-INF/resources目录下。
dispatcher-servlet.xml:放在WEB-INF/resources目录下。(该文件为spring配置文件)
Mybatis-config.xml:放在src根目录下。(该文件为总的mybatis配置文件)
filetest.xml:放在resources目录下。(这是mapper映射文件,这些映射文件放在mapper包中好像也行)

3、流程:
首先,在spring配置文件里配置mybatis的数据源、sqlSessionFactory和包扫描器。

<!-- 配置mybatis, 绑定druid-->
    <!--com.alibaba.druid.pool.DruidDataSource-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <!-- 基本属性 url、user、password -->
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/project"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>

    </bean>
    <!-- 配置sqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 加载Mybatis全局配置文件 -->
        <property name="configLocation" value="Mybatis-config.xml"/>

    </bean>
    <!-- 配置mapper扫描器 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 扫描包路径,如果需要扫描多个包中间用半角逗号隔开 -->
        <property name="basePackage" value="mapper"></property>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>

然后,配置mapper文件以及接口类,这两个文件合在一起成为实际意义上的dao层。
这一步记得mapper文件的namespace要是接口类的全类名。

<!-建议是一个实体写一个xml文件-->
<mapper namespace="mapper.AttachMapper">

然后接口类的方法也要对应mapper文件的方法。

<!--通过namespace.id来定位该sql-->
    <select id="queryAttachByNumber" resultType="mapper.Attach" parameterType="int">
        select * from filetest where number = #{number}<!--这里的id只是占位符,写成什么都无所谓-->
    </select>

最后在controller或者service层用注解注入mapper接口类就可以使用啦。

@Autowired
    private AttachMapper attachmapper;

(这里的attachmapper就可以直接作为后续使用了)

相关文章:

  • 2021-08-06
  • 2021-10-02
  • 2021-05-25
  • 2021-10-21
  • 2021-09-09
  • 2022-12-23
  • 2021-08-31
  • 2022-12-23
猜你喜欢
  • 2021-06-03
  • 2021-11-15
  • 2021-11-06
  • 2021-08-25
  • 2022-12-23
  • 2021-09-17
相关资源
相似解决方案