zoukankan      html  css  js  c++  java
  • 一个Web结合Mybatis项目

    1. 需要引入apache.commons.dbcp-1.2.2.osgi.jar以及org.apache.commons.pool-1.5.3.jar用来提供JDBC的访问;
    2. 需要org.springframework.transaction-3.0.5.RELEASE.jar提供DaoSupport类;
    3. org.springframework.jdbc-3.0.5.RELEASE.jar用于在启动MyBatis绑定的时候提供Autoware标签绑定;
    4. 还有数据库驱动类;
     
    Module面板中,选择工程默认Path是ROOT;但是默认应该是工程名字才对。
    后来全局搜索“ROOT“,才发现原来在.settings文件夹下面有一个org.eclipse.wst.common.component文件,里面定义了
    <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
        <wb-module deploy-name="zcm">
            <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
            <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
            <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
            <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
            <property name="context-root" value="ROOT"/>
            <property name="java-output-path" value="/zcm/target/classes"/>
        </wb-module>
    </project-modules>
     
    才知晓,原来web工程前置名称原来是这里指定的。至于为什么会是ROOT,可能因为我从svn当下来的时候,会创建一个eclipse工程,被默认创建成了ROOT;因为其他手工创建的web工程默认的名称都是工程名称。
     
    这个问题的解决需要两个方面:
    1. 使用eclipse默认的tomcat7,确认jdk版本是否为jdk7,之前就是错误的指定为jdk

    在添加Server的界面,点击Configure runtime environments
    点击Edit…
    关注JRE版本
     
    Clean才是清理work
    MyBatis的Mapper中的resultMap就是一个自定义的类型,避免创建vo类,但是可以为了某个查询在mapper的xml中定义临时的对象,然后这个对象和将会和一个实体类的字段进行关联。如果查询结果的字段可以和实体类一一对应可以通过制定resultType来指定;其实在指定(bean)sqlSessionFactory的typeAliasesPackage字段的时候,就已经指定了可以省略的别名,这样在resultType中直接写类名即可(不需要带前面的命名空间)
            <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
           <property name="dataSource" ref="dataSource" />
           <property name="configLocation" value="classpath:sqlmapConfig.xml"></property>
           <property name="mapperLocations" value="classpath:mapper/*Mapper.xml"></property>
           <property name="typeAliasesPackage" value="com.zcm.mall.vo"></property>
        </bean>
    或者在myBatis的配置文件中进行指定:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <typeAliases>
            <package name="com.zcm.mall.vo"/>
        </typeAliases>
    </configuration>
  • 相关阅读:
    深度分析:SpringBoot异常捕获与封装处理,看完你学会了吗?
    去年去阿里面试,面试官居然问我Java类和对象,我是这样回答的!
    面试官:小伙子,你给我详细说一下线程的状态有哪些吧?
    新鲜出炉!JAVA线程池精华篇深度讲解,看完你还怕面试被问到吗?
    面试官:小伙子,你给我讲一下java类加载机制和内存模型吧
    深度分析:面试90%被问到的多线程、创建线程、线程状态、线程安全,一次性帮你全搞定!
    close与shutdown
    select模型(二 改进服务端)
    select模型(一 改进客户端)
    5种IO模型
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/7143152.html
Copyright © 2011-2022 走看看