【springmvc+mybatis项目实战】杰信商贸-4.maven依赖+PO对+映射文件


首先我们要创建工程
项目的开发环境
序号 工  具                 用  途
1 MyEclipse 2014    IDE
2 JDK 1.7.9         Java虚拟机
3 TOMCAT 7.0.26        中间件
4 Oracle11g/10g、MySQL 5.0.87 数据库
5 PL/SQL 、SQLyog 8.2 SQL控制台
6 apache-maven-3.0.5 MAVEN
7 PowerDesigner 15.1 数据库设计
8 Office excel 2010 打印 poi
9 Office word 2010 ISO文档

创建MAVEN工程

如果你之前没有了解过MAVEN,下面给初学者解释一下:
    Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

    发文时,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 make的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它信息(如开发人员/拥有者、版本或站点主页)。

    Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

    Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。

首先总览一下开发步骤:
1.新建Maven Project 或者 新建Web Project
2.拷贝界面框架 css、js、images、js、拷贝工具类
3.修改pom.xml 或者 拷贝jar包
4.建立数据库 jkdb utf-8
5.创建PDM,创建表,执行SQL脚本
6.创建 PO、Mapper.xml、dao、service、controller、jsp文件
7.配置文件sqlMapConfig.xml 、 beans.xml 、jdbc.properties、springmvc-servlet.xml 、 web.xml
8.部署、测试

Myeclipse10~10.7创建MAVEN工程有一些问题:
1)测试类,无法运行测试类
2)Maven构建环境仓库
Maven命令实际是通过jar中的类执行的
3)maven不同的myeclipse插件有BUG

当本地利用现有MYECLIPSE创建不了maven工程
解决办法
1)升级2013/2014
2)使用web工程,拷贝libs放到web工程中

我们创建一个Maven(无法创建的请自行安装Maven和Maven插件)

工程的目录:如


首先调整工程的编码方式为utf-8

坐标怎么来?
1)search.maven.org 搜索坐标

2)myeclipse maven插件,增加依赖,必须构建索引

如图4.1配置maven的库

图4.2-从库中配置jar包的导入代码



我们创建好工程后,首先将我们以前写好的的基础工具类导入(Controller的基础类、Dao的基础类、分页的工具类):


然后发现代码报错,说明我们还没有将依赖的jar包导入

关于Maven工程如何增加依赖jar包,添加依赖jar包的原则:
1)主要核心框架springmvc、spring、mybatis
2)数据库 c3p0、 oracle/mysql驱动
3)第三方核心jar 
4)日常其他jar log4j、junit、poi
5)排除冲突的jar servlet.jar TOMCAT实现。

我们的pom.xml最终引入了下列依赖jar包:
[html]  view plain copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   <groupId>cn.edu.hpu.jx</groupId>  
  5.   <artifactId>MyWebApp</artifactId>  
  6.   <packaging>war</packaging>  
  7.   <version>1.0-SNAPSHOT</version>  
  8.   <name>MyWebApp Maven Webapp</name>  
  9.   <url>http://maven.apache.org</url>  
  10.   <properties>  
  11.         <org.springframework.version>3.2.6.RELEASE</org.springframework.version>  
  12.   </properties>  
  13.     
  14.     
  15.   <dependencies>  
  16.    
  17.     <dependency>  
  18.         <groupId>org.apache.openejb</groupId>  
  19.         <artifactId>javaee-api</artifactId>  
  20.         <version>5.0-1</version>  
  21.         <scope>provided</scope>  
  22.     </dependency>  
  23.     <dependency>  
  24.         <groupId>javax.faces</groupId>  
  25.         <artifactId>jsf-api</artifactId>  
  26.         <version>1.2_04</version>  
  27.         <scope>provided</scope>  
  28.     </dependency>  
  29.     <dependency>  
  30.         <groupId>javax.servlet</groupId>  
  31.         <artifactId>jstl</artifactId>  
  32.         <version>1.2</version>  
  33.         <scope>provided</scope>  
  34.     </dependency>  
  35.     <dependency>  
  36.         <groupId>javax.faces</groupId>  
  37.         <artifactId>jsf-impl</artifactId>  
  38.         <version>1.2_04</version>  
  39.         <scope>provided</scope>  
  40.     </dependency>  
  41.     <!-- 框架的jar包引入 -->  
  42.       
  43.     <!-- 整合spring框架 -->  
  44.     <dependency>  
  45.         <groupId>org.springframework</groupId>  
  46.         <artifactId>spring-webmvc</artifactId>  
  47.         <version>${org.springframework.version}</version>  
  48.     </dependency>  
  49.     <dependency>  
  50.         <groupId>org.springframework</groupId>  
  51.         <artifactId>spring-orm</artifactId>  
  52.         <version>${org.springframework.version}</version>  
  53.     </dependency>  
  54.     <dependency>  
  55.         <groupId>org.springframework</groupId>  
  56.         <artifactId>spring-test</artifactId>  
  57.         <version>${org.springframework.version}</version>  
  58.         <type>jar</type>  
  59.         <scope>test</scope>  
  60.     </dependency>  
  61.       
  62.     <!-- 织入的jar包 -->  
  63.     <dependency>  
  64.         <groupId>org.aspectj</groupId>  
  65.         <artifactId>aspectjweaver</artifactId>  
  66.         <version>1.7.2</version>  
  67.     </dependency>  
  68.       
  69.     <!-- 引入MyBatis以及MyBatis与SpringMVC整合的jar包 -->  
  70.     <dependency>  
  71.         <groupId>org.mybatis</groupId>  
  72.         <artifactId>mybatis</artifactId>  
  73.         <version>3.2.2</version>  
  74.     </dependency>  
  75.     <dependency>  
  76.         <groupId>org.mybatis</groupId>  
  77.         <artifactId>mybatis-spring</artifactId>  
  78.         <version>1.2.0</version>  
  79.     </dependency>  
  80.       
  81.     <!-- 引入c3p0数据库连接池 -->  
  82.     <dependency>  
  83.         <groupId>c3p0</groupId>  
  84.         <artifactId>c3p0</artifactId>  
  85.         <version>0.9.1.2</version>  
  86.     </dependency>  
  87.   
  88.   
  89.     <!-- oracle与Mysql的数据库驱动 -->  
  90.     <dependency>  
  91.         <groupId>com.oracle</groupId>  
  92.         <artifactId>ojdbc6</artifactId>  
  93.         <version>11.1.0.7.0</version>  
  94.     </dependency>  
  95.     <dependency>  
  96.         <groupId>mysql</groupId>  
  97.         <artifactId>mysql-connector-java</artifactId>  
  98.         <version>5.1.10</version>  
  99.     </dependency>  
  100.     <!-- 第三方常用jar包 -->  
  101.     <dependency>  
  102.             <groupId>log4j</groupId>  
  103.             <artifactId>log4j</artifactId>  
  104.             <version>1.2.13</version>  
  105.         </dependency>  
  106.         <dependency>  
  107.             <groupId>org.slf4j</groupId>  
  108.             <artifactId>slf4j-log4j12</artifactId>  
  109.             <version>1.7.5</version>  
  110.         </dependency>  
  111.           
  112.         <dependency>  
  113.             <groupId>org.apache.poi</groupId>  
  114.             <artifactId>poi</artifactId>  
  115.             <version>3.9</version>  
  116.         </dependency>  
  117.         <dependency>  
  118.             <groupId>org.apache.poi</groupId>  
  119.             <artifactId>poi-ooxml</artifactId>  
  120.             <version>3.9</version>  
  121.         </dependency>  
  122.         <dependency>  
  123.             <groupId>jfree</groupId>  
  124.             <artifactId>jfreechart</artifactId>  
  125.             <version>1.0.13</version>  
  126.         </dependency>  
  127.         <dependency>  
  128.             <groupId>junit</groupId>  
  129.             <artifactId>junit</artifactId>  
  130.             <version>4.9</version>  
  131.         </dependency>  
  132.           
  133.         <!-- 导入上传下载jar包 -->  
  134.         <dependency>  
  135.             <groupId>commons-fileupload</groupId>  
  136.             <artifactId>commons-fileupload</artifactId>  
  137.             <version>1.2.2</version>  
  138.         </dependency>  
  139.         <dependency>  
  140.             <groupId>commons-io</groupId>  
  141.             <artifactId>commons-io</artifactId>  
  142.             <version>2.0.1</version>  
  143.         </dependency>  
  144.   
  145.   
  146.         <!-- 导入标签jar包 -->  
  147.         <dependency>  
  148.             <groupId>javax.servlet.jsp.jstl</groupId>  
  149.             <artifactId>jstl-api</artifactId>  
  150.             <version>1.2</version>  
  151.         </dependency>  
  152.         <dependency>  
  153.             <groupId>org.glassfish.web</groupId>  
  154.             <artifactId>jstl-impl</artifactId>  
  155.             <version>1.2</version>  
  156.         </dependency>  
  157.           
  158.         <!-- 防止和tomcat中的jar冲突 -->  
  159.         <dependency>  
  160.             <groupId>org.apache.tomcat</groupId>  
  161.             <artifactId>servlet-api</artifactId>  
  162.             <version>6.0.33</version>  
  163.             <scope>provided</scope>  
  164.         </dependency>  
  165.   
  166.   
  167.         <dependency>  
  168.             <groupId>javax.servlet</groupId>  
  169.             <artifactId>servlet-api</artifactId>  
  170.             <version>2.5</version>  
  171.             <scope>provided</scope>  
  172.         </dependency>  
  173.         <dependency>  
  174.             <groupId>javax.servlet.jsp</groupId>  
  175.             <artifactId>jsp-api</artifactId>  
  176.             <version>2.1</version>  
  177.             <scope>provided</scope>  
  178.         </dependency>  
  179.   
  180.   
  181.         <dependency>  
  182.             <groupId>org.apache.geronimo.specs</groupId>  
  183.             <artifactId>geronimo-servlet_3.0_spec</artifactId>  
  184.             <version>1.0</version>  
  185.             <scope>provided</scope>  
  186.         </dependency>  
  187.           
  188.   </dependencies>  
  189.     
  190.   <build>  
  191.     <finalName>MyWebApp</finalName>  
  192.   </build>  
  193. </project>  

可以看到,Maven Dependencies下自动导入了我们需要的依赖jar包

之后我们创建domain的factory的JavaBean
[java]  view plain copy
  1. package cn.hpu.jk.domain;  
  2.   
  3. public class Factory {  
  4.   
  5.     private String id;//将主键都映射成id  
  6.     private String fullName;  
  7.     private String factoryName;  
  8.     private String contacts;  
  9.     private String phone;  
  10.     private String mobile;  
  11.     private String fax;  
  12.     private String cnote;  
  13.     private String inspector;  
  14.     private Integer orderNo;  
  15.     private String createBy;  
  16.     private String creatDept;  
  17.     private java.util.Date creatTime;  
  18.       
  19.     //此处省略get与set方法  
  20. }  

然后我们在src/main/resources下创建mapper映射文件FactoryMapper.xml
里面我们写了一个查询配置
[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper  
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  5.   
  6.   
  7. <mapper namespace="cn.hpu.jk.mapper.FactoryMapper">  
  8.     <!-- resultMap映射 -->  
  9.     <resultMap type="cn.hpu.jk.domain.Factory" id="factoryRM">  
  10.         <!-- 主键 -->  
  11.         <id property="id" column="FACTORY_ID"/>  
  12.    
  13.         <!-- 一般属性 -->  
  14.         <result property="fullName" column="FULL_NAME"/>  
  15.         <result property="factoryName" column="FACTORY_NAME"/>  
  16.         <result property="contacts" column="CONTACTS"/>  
  17.         <result property="phone" column="PHONE"/>  
  18.         <result property="mobile" column="MOBILE"/>  
  19.         <result property="fax" column="FAX"/>  
  20.         <result property="cnote" column="CNOTE"/>  
  21.         <result property="inspector" column="INSPECTOR"/>  
  22.         <result property="orderNo" column="ORDER_NO"/>  
  23.           
  24.         <result property="createBy" column="CREATE_BY"/>  
  25.         <result property="creatDept" column="CREATE_DEPT"/>  
  26.         <result property="creatTime" column="CREATE_TIME"/>  
  27.       
  28.     </resultMap>  
  29.       
  30.     <!-- 查询 -->  
  31.     <select id="find" parameterType="map" resultMap="factoryRM">  
  32.         select * from factory_c  
  33.         where 1=1  
  34.     </select>  
  35.       
  36. </mapper>  

至此,我们的工程已经有一个雏形了,但是我们还没有编写最重要和复杂的Dao层。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值