zoukankan      html  css  js  c++  java
  • 课时13:多环境切换、注解方式与增删改返回值问题

    .1)多环境切换

      1.配置properties

    #mysql的配置环境
    mysql.driver=com.mysql.jdbc.Driver
    mysql.url=jdbc:mysql://localhost:3306/ssm
    mysql.username=root
    mysql.password=root
    
    #oracle的配置环境  这里需要自己动手改一下  改成上面的格式
    <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
    <property name="username" value="scott"/>
    <property name="password" value="tiger"/>

      2.配置主配置文件环境

     <environments default="envMysql">
    <!--        mysql配置环境-->
            <environment id="envMysql">
    <!--                配置事务-->
                <transactionManager type="JDBC">
                </transactionManager>
    <!--            配置数据库连接信息-->
                <dataSource type="POOLED">
                    <property name="driver" value="${mysql.driver}"/>
                    <property name="url" value="${mysql.url}"/>
                    <property name="username" value="${mysql.username}"/>
                    <property name="password" value="${mysql.password}"/>
                </dataSource>
            </environment>
    
    <!--        oracle环境配置-->
            <environment id="envOracle">
                <!--                配置事务-->
                <transactionManager type="JDBC">
                </transactionManager>
                <!--            配置数据库连接信息-->
                <dataSource type="POOLED">
                    <property name="driver" value="${oracle.driver}"/>
                    <property name="url" value="${oracle.url}"/>
                    <property name="username" value="${oracle.username}"/>
                    <property name="password" value="${oracle.password}"/>
                </dataSource>
            </environment>
        </environments>
    
    <!--    配置数据库支持类-->
        <databaseIdProvider type="DB_VENDOR">
                <property name="MySQL" value="mysql"/>
                <property name="Oracle" value="oracle"/>
        </databaseIdProvider>

        2.1 通过default来切换环境

        2.2 通过支持类来配置支持哪些数据库

      3.编写不同数据库sql

        3.1 列如oracle:rownum mysql:limit

      <select id="selectStudentById" resultType="student" parameterType="Integer" databaseId="oracle">
            select * from student where stuno=#{stuno}
        </select>   
        <select id="selectStudentById" resultType="student" parameterType="Integer" databaseId="mysql">
            select * from student where stuno=#{stuno}
        </select>

          3.1.1通过databaseId来找寻主配置里面配置的支持类别名

          3.1.2 .select标签两个id可以一样,当你的环境时oracle的时候就是执行oracle的id里面的sql,当你的环境时mysql的时候就是执行mysql的id里面的sql

    2.)注解方式开发

      1.推荐使用xml开发(而注解开发适用于一些小项目)

      2.如何使用注解开发

        2.1 配置主文件的mapper标签 通过class来映射接口 为了是让程序知道你的sql语句是存在接口中

    <mapper class="org.hbz.dao.IStudentDao"></mapper>

        2.2无论是注解还是xml都可以可以一劳永逸的方式直接填写包名存在哪里 (批量引入) 以下的语句两种方式都兼容

     <package name="org.hbz.dao"/>

      3. 将sql语句写在接口的方法的上面

    @Select("select * from student where stuNo=#{stuNo}")
        Student queryStudentByNo(int stuNo);

    .3)增删改的返回值问题

      1.返回值可以是void ,Integer,Long,Boolean

      2.如何操作?只需要在接口的方法修改返回值

     

  • 相关阅读:
    PTA 7-29 修理牧场(Huffman树)
    全网最详细最好懂 PyTorch CNN案例分析 识别手写数字
    【Python Deap库】遗传算法/遗传编程 进化算法基于python DEAP库深度解析讲解
    【比较】遗传算法GA和遗传编程GP有什么不同?
    【python(deap库)实现】GEAP 遗传算法/遗传编程 genetic programming +
    【比较】粒子群算法PSO 和 遗传算法GA 的相同点和不同点
    【遗传编程/基因规划】Genetic Programming
    【经典大数据竞赛科普】泰坦尼克灾难 到底是个什么东西
    【Python代码】TSNE高维数据降维可视化工具 + python实现
    【python代码】 最大流问题+最小花费问题+python(ortool库)实现
  • 原文地址:https://www.cnblogs.com/thisHBZ/p/12458174.html
Copyright © 2011-2022 走看看