首页 > 代码库 > 一个Web结合Mybatis项目

一个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="http://www.mamicode.com/ROOT"/>
        <property name="java-output-path" value="http://www.mamicode.com/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=http://www.mamicode.com/"classpath:sqlmapConfig.xml"></property>
       <property name="mapperLocations" value=http://www.mamicode.com/"classpath:mapper/*Mapper.xml"></property>
       <property name="typeAliasesPackage" value=http://www.mamicode.com/"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>

一个Web结合Mybatis项目