zoukankan      html  css  js  c++  java
  • 配置SpringMvc + maven 数据源!(四)

    添加依赖项

    1. 添加 mybatis 库,打开 pom.xml 添加 mybatis dependency 依赖;

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.1.1</version>
    </dependency>

    这里用的是 3.1.1 版本;

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.1.1</version>
    </dependency>

    这两个与 org.springframework.jdbc.datasource.DriverManagerDataSource 有关;

    2. 添加 mysql 依赖库

    <dependency>  
           <groupId>mysql</groupId>  
           <artifactId>mysql-connector-java</artifactId>  
           <version>5.1.26</version>  
    </dependency>

    3. 添加 oracle 依赖,直接添加到 pom.xml 会有问题:

    解决办法,要这样操作:

    首先要下载 ojdbc14.jar 百度下载, 下载到某个目录
    再打开 cmd 命令行窗口, 转到 ojdbc14.jar 所在目录, 运行:
    >mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.2.0 -Dpackaging=jar -Dfile=ojdbc14.jar
    回车即可

    数据源配置

     1. 项目目录结构

    2. 数据源配置文件 META-INF/mybatis/mysql.properties;

    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/springdb
    username=root
    password=root123

    注意:com.mysql.jdbc.Driver 大小写要注意有区别,username以及password后的用户名、密码不能带空格;

    3. 我在 WEB-INF/spring/root-context.xml 这个全局的配置文件内配置数据源;

    <!-- Root Context: defines shared resources visible to all other web components -->
        
        <context:property-placeholder location="classpath:META-INF/mybatis/mysql.properties" />
        
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="${driver}"></property>
            <property name="url" value="${url}"></property>
            <property name="username" value="${username}"></property>
            <property name="password" value="${password}"></property>
        </bean>
        
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"></property>
        </bean>
        
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"></property>
            <property name="mapperLocations" value="classpath:springlibs/mapper/*Mapper.xml"></property>
        </bean>
        
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="springlibs.dao"></property>
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
        </bean>

    SqlSessionFactoryBean 的 mapperLocations 如果Mapper.xml 分置不同位置,也可以这样写:

    <property name="mapperLocations">
        <list>
            <!-- 表示在springlibs.mapper包或以下所有目录中,以-Mapper.xml结尾所有文件 -->
            <value>classpath:springlibs/mapper/*Mapper.xml</value>
        </list>
    </property>

    两种Mapper对应 Bean 的配置方式,这是一个 Mapper 对应一个 Bean 的情况:

    <bean id="mapperNameId" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="springlibs.mapper.MapperNameMapper" />
        <property name="SqlSessionFactory" ref="sqlSessionFactory" />
    </bean>
    <!-- ... -->

    如果Mapper很多的话, 那一个个配置很麻烦,就可以像下面这样的配置方式:

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="springlibs.dao"></property>
            <property name="markerInterface" value="springlibs.dao.SqlMapper"></property>
    </bean>

    这是通过扫描的模式,扫描目录在springlibs/dao目录下,所有的mapper都继承SqlMapper接口的接口, 这样一个bean就可以了;

    SqlMapper.java 文件:

    package springlibs.dao;
    
    public interface SqlMapper {
    
    }
  • 相关阅读:
    公用表表达式(CTE)的递归调用
    c# 如何让tooltip显示文字换行
    实战 SQL Server 2008 数据库误删除数据的恢复
    SQL SERVER数据库中 是否可以对视图进行修改删除
    asp.net中实现文件批量上传
    sql server 2008学习2 文件和文件组
    sql server 2008学习3 表组织和索引组织
    sql server 2008学习4 设计索引的建议
    sql server 2008学习10 存储过程
    .net 调用 sql server 自定义函数,并输出返回值
  • 原文地址:https://www.cnblogs.com/editor/p/3881212.html
Copyright © 2011-2022 走看看