3、spring+mybatis关联映射(无mapper实现类)+idea+maven

打印 上一主题 下一主题

主题 821|帖子 821|积分 2463

该工程采用spring+mybatis的关联映射,动态sql,sql片段实现
1、搭建项目结构如下

 
 
2、配置项目的pom.xml文件中的依赖
  1.   1 <?xml version="1.0" encoding="UTF-8"?>
  2.   2
  3.   3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.   4   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.   5   <modelVersion>4.0.0</modelVersion>
  6.   6
  7.   7   <groupId>com</groupId>
  8.   8   <artifactId>springmybatis_day44_03</artifactId>
  9.   9   <version>1.0-SNAPSHOT</version>
  10. 10   <packaging>war</packaging>
  11. 11
  12. 12   <name>springmybatis_day44_03 Maven Webapp</name>
  13. 13   
  14. 14   <url>http://www.example.com</url>
  15. 15
  16. 16   <properties>
  17. 17     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  18. 18     <maven.compiler.source>1.7</maven.compiler.source>
  19. 19     <maven.compiler.target>1.7</maven.compiler.target>
  20. 20   </properties>
  21. 21
  22. 22
  23. 23   <dependencies>
  24. 24
  25. 25     <dependency>
  26. 26       <groupId>junit</groupId>
  27. 27       <artifactId>junit</artifactId>
  28. 28       <version>4.11</version>
  29. 29     </dependency>
  30. 30
  31. 31     
  32. 32     <dependency>
  33. 33       <groupId>org.springframework</groupId>
  34. 34       <artifactId>spring-beans</artifactId>
  35. 35       <version>4.3.6.RELEASE</version>
  36. 36     </dependency>
  37. 37
  38. 38
  39. 39     
  40. 40     <dependency>
  41. 41       <groupId>org.springframework</groupId>
  42. 42       <artifactId>spring-context</artifactId>
  43. 43       <version>4.3.6.RELEASE</version>
  44. 44     </dependency>
  45. 45
  46. 46
  47. 47     
  48. 48     <dependency>
  49. 49       <groupId>org.springframework</groupId>
  50. 50       <artifactId>spring-core</artifactId>
  51. 51       <version>4.3.6.RELEASE</version>
  52. 52     </dependency>
  53. 53
  54. 54
  55. 55     
  56. 56     <dependency>
  57. 57       <groupId>org.springframework</groupId>
  58. 58       <artifactId>spring-expression</artifactId>
  59. 59       <version>4.3.6.RELEASE</version>
  60. 60     </dependency>
  61. 61
  62. 62
  63. 63     
  64. 64     <dependency>
  65. 65       <groupId>org.springframework</groupId>
  66. 66       <artifactId>spring-aop</artifactId>
  67. 67       <version>4.3.6.RELEASE</version>
  68. 68     </dependency>
  69. 69
  70. 70
  71. 71     
  72. 72     <dependency>
  73. 73       <groupId>aopalliance</groupId>
  74. 74       <artifactId>aopalliance</artifactId>
  75. 75       <version>1.0</version>
  76. 76     </dependency>
  77. 77
  78. 78
  79. 79     
  80. 80     <dependency>
  81. 81       <groupId>org.aspectj</groupId>
  82. 82       <artifactId>aspectjweaver</artifactId>
  83. 83       <version>1.8.10</version>
  84. 84     </dependency>
  85. 85
  86. 86
  87. 87     
  88. 88     <dependency>
  89. 89       <groupId>log4j</groupId>
  90. 90       <artifactId>log4j</artifactId>
  91. 91       <version>1.2.17</version>
  92. 92     </dependency>
  93. 93
  94. 94
  95. 95     
  96. 96     <dependency>
  97. 97       <groupId>commons-logging</groupId>
  98. 98       <artifactId>commons-logging</artifactId>
  99. 99       <version>1.2</version>
  100. 100     </dependency>
  101. 101
  102. 102
  103. 103     
  104. 104     <dependency>
  105. 105       <groupId>org.springframework</groupId>
  106. 106       <artifactId>spring-jdbc</artifactId>
  107. 107       <version>4.3.6.RELEASE</version>
  108. 108     </dependency>
  109. 109
  110. 110
  111. 111     
  112. 112     <dependency>
  113. 113       <groupId>org.springframework</groupId>
  114. 114       <artifactId>spring-orm</artifactId>
  115. 115       <version>4.3.6.RELEASE</version>
  116. 116     </dependency>
  117. 117
  118. 118
  119. 119     
  120. 120     <dependency>
  121. 121       <groupId>org.springframework</groupId>
  122. 122       <artifactId>spring-tx</artifactId>
  123. 123       <version>4.3.6.RELEASE</version>
  124. 124     </dependency>
  125. 125
  126. 126
  127. 127     
  128. 128     <dependency>
  129. 129       <groupId>org.springframework</groupId>
  130. 130       <artifactId>spring-web</artifactId>
  131. 131       <version>4.3.6.RELEASE</version>
  132. 132     </dependency>
  133. 133
  134. 134
  135. 135     
  136. 136     <dependency>
  137. 137       <groupId>org.springframework</groupId>
  138. 138       <artifactId>spring-webmvc</artifactId>
  139. 139       <version>4.3.6.RELEASE</version>
  140. 140     </dependency>
  141. 141
  142. 142
  143. 143     
  144. 144     <dependency>
  145. 145       <groupId>org.mybatis</groupId>
  146. 146       <artifactId>mybatis</artifactId>
  147. 147       <version>3.4.6</version>
  148. 148     </dependency>
  149. 149
  150. 150     
  151. 151     <dependency>
  152. 152       <groupId>org.mybatis</groupId>
  153. 153       <artifactId>mybatis-spring</artifactId>
  154. 154       <version>1.3.2</version>
  155. 155     </dependency>
  156. 156
  157. 157
  158. 158     
  159. 159     <dependency>
  160. 160       <groupId>mysql</groupId>
  161. 161       <artifactId>mysql-connector-java</artifactId>
  162. 162       <version>5.1.38</version>
  163. 163     </dependency>
  164. 164
  165. 165
  166. 166     
  167. 167     <dependency>
  168. 168       <groupId>javax.servlet</groupId>
  169. 169       <artifactId>javax.servlet-api</artifactId>
  170. 170       <version>3.1.0</version>
  171. 171     </dependency>
  172. 172
  173. 173     
  174. 174     <dependency>
  175. 175       <groupId>javax.servlet</groupId>
  176. 176       <artifactId>jstl</artifactId>
  177. 177       <version>1.2</version>
  178. 178     </dependency>
  179. 179
  180. 180
  181. 181     
  182. 182     <dependency>
  183. 183       <groupId>taglibs</groupId>
  184. 184       <artifactId>standard</artifactId>
  185. 185       <version>1.1.2</version>
  186. 186     </dependency>
  187. 187
  188. 188   </dependencies>
  189. 189
  190. 190 </project>
复制代码
pom.xml3、在java目录下的com.pojo包下构建2个实体类,即Dept.java 和Emp.java
  1. 1 package com.pojo;
  2. 2 import java.util.List;
  3. 3 /**
  4. 4  * 一方引用多方list集合
  5. 5  */
  6. 6 public class Dept {
  7. 7   private Integer deptno   ;
  8. 8   private String  dname    ;
  9. 9   private String  loc          ;
  10. 10
  11. 11   public Dept() {
  12. 12   }
  13. 13
  14. 14   public Dept(Integer deptno, String dname, String loc) {
  15. 15     this.deptno = deptno;
  16. 16     this.dname = dname;
  17. 17     this.loc = loc;
  18. 18   }
  19. 19
  20. 20   public Integer getDeptno() {
  21. 21     return deptno;
  22. 22   }
  23. 23
  24. 24   public void setDeptno(Integer deptno) {
  25. 25     this.deptno = deptno;
  26. 26   }
  27. 27
  28. 28
  29. 29   public String getDname() {
  30. 30     return dname;
  31. 31   }
  32. 32
  33. 33   public void setDname(String dname) {
  34. 34     this.dname = dname;
  35. 35   }
  36. 36
  37. 37
  38. 38   public String getLoc() {
  39. 39     return loc;
  40. 40   }
  41. 41
  42. 42   public void setLoc(String loc) {
  43. 43     this.loc = loc;
  44. 44   }
  45. 45
  46. 46   @Override
  47. 47   public String toString() {
  48. 48     return "Dept{" +
  49. 49             "deptno=" + deptno +
  50. 50             ", dname='" + dname + '\'' +
  51. 51             ", loc='" + loc + '\'' +
  52. 52             '}';
  53. 53   }
  54. 54 }
复制代码
Dept.java
  1.   1 package com.pojo;
  2.   2
  3.   3 /**
  4.   4  * 多方引用一方对象
  5.   5  */
  6.   6 public class Emp {
  7.   7   private Integer empno             ;
  8.   8   private String  ename           ;
  9.   9   private String  job         ;
  10. 10   private Integer mgr           ;
  11. 11   private String  hiredate           ;
  12. 12   private Double  sal         ;
  13. 13   private Double  comm               ;
  14. 14   private Dept dept;
  15. 15
  16. 16   public Emp() {
  17. 17   }
  18. 18
  19. 19   public Emp(Integer empno, String ename, String job, Integer mgr, String hiredate, Double sal, Double comm, Dept dept) {
  20. 20     this.empno = empno;
  21. 21     this.ename = ename;
  22. 22     this.job = job;
  23. 23     this.mgr = mgr;
  24. 24     this.hiredate = hiredate;
  25. 25     this.sal = sal;
  26. 26     this.comm = comm;
  27. 27     this.dept = dept;
  28. 28   }
  29. 29
  30. 30   public Integer getEmpno() {
  31. 31     return empno;
  32. 32   }
  33. 33
  34. 34   public void setEmpno(Integer empno) {
  35. 35     this.empno = empno;
  36. 36   }
  37. 37
  38. 38
  39. 39   public String getEname() {
  40. 40     return ename;
  41. 41   }
  42. 42
  43. 43   public void setEname(String ename) {
  44. 44     this.ename = ename;
  45. 45   }
  46. 46
  47. 47
  48. 48   public String getJob() {
  49. 49     return job;
  50. 50   }
  51. 51
  52. 52   public void setJob(String job) {
  53. 53     this.job = job;
  54. 54   }
  55. 55
  56. 56
  57. 57   public Integer getMgr() {
  58. 58     return mgr;
  59. 59   }
  60. 60
  61. 61   public void setMgr(Integer mgr) {
  62. 62     this.mgr = mgr;
  63. 63   }
  64. 64
  65. 65
  66. 66   public String getHiredate() {
  67. 67     return hiredate;
  68. 68   }
  69. 69
  70. 70   public void setHiredate(String hiredate) {
  71. 71     this.hiredate = hiredate;
  72. 72   }
  73. 73
  74. 74
  75. 75   public Double getSal() {
  76. 76     return sal;
  77. 77   }
  78. 78
  79. 79   public void setSal(Double sal) {
  80. 80     this.sal = sal;
  81. 81   }
  82. 82
  83. 83
  84. 84   public Double getComm() {
  85. 85     return comm;
  86. 86   }
  87. 87
  88. 88   public void setComm(Double comm) {
  89. 89     this.comm = comm;
  90. 90   }
  91. 91
  92. 92   public Dept getDept() {
  93. 93     return dept;
  94. 94   }
  95. 95
  96. 96   public void setDept(Dept dept) {
  97. 97     this.dept = dept;
  98. 98   }
  99. 99
  100. 100   @Override
  101. 101   public String toString() {
  102. 102     return "Emp{" +
  103. 103             "empno=" + empno +
  104. 104             ", ename='" + ename + '\'' +
  105. 105             ", job='" + job + '\'' +
  106. 106             ", mgr=" + mgr +
  107. 107             ", hiredate='" + hiredate + '\'' +
  108. 108             ", sal=" + sal +
  109. 109             ", comm=" + comm +
  110. 110             ", dept=" + dept +
  111. 111             '}';
  112. 112   }
  113. 113 }
复制代码
Emp.java4、在java目录下的com.mapper包下构建2个映射接口,即DeptMapppr.java 和EmpMapper.java
  1. 1 package com.mapper;
  2. 2 import com.pojo.Dept;
  3. 3 import java.util.List;
  4. 4 public interface DeptMapper {
  5. 5     List<Dept> selectAllDept();
  6. 6 }
复制代码
DeptMapper.java
  1. 1 package com.mapper;
  2. 2
  3. 3 import com.pojo.Emp;
  4. 4
  5. 5 import java.util.List;
  6. 6
  7. 7 public interface EmpMapper {
  8. 8     List<Emp> selectEmp(Emp emp);
  9. 9     int insertEmp(Emp emp);
  10. 10     int updateEmp(Emp emp);
  11. 11     int deleteEmp(Emp emp);
  12. 12 }
复制代码
EmpMapper.java5、在java目录下的com.servicer包下构建2个业务层接口,即DeptService.java 和EmpService.java,和2个业务层接口实现类,即DeptServiceImpl.java 和EmpServiceImpl.java
  1. 1 package com.service;
  2. 2
  3. 3 import com.pojo.Dept;
  4. 4
  5. 5 import java.util.List;
  6. 6
  7. 7 public interface DeptService {
  8. 8     List<Dept> downOption();
  9. 9 }
复制代码
DeptService.java
  1. 1 package com.service;
  2. 2
  3. 3 import com.pojo.Emp;
  4. 4
  5. 5 import java.util.List;
  6. 6
  7. 7 public interface EmpService {
  8. 8     List<Emp> show(Emp emp);
  9. 9     int add(Emp emp);
  10. 10     int edit(Emp emp);
  11. 11     int del(Emp emp);
  12. 12 }
复制代码
EmpService.java
  1. 1 package com.service;
  2. 2
  3. 3 import com.mapper.DeptMapper;
  4. 4 import com.pojo.Dept;
  5. 5
  6. 6 import java.util.List;
  7. 7
  8. 8 public class DeptServiceImpl implements DeptService{
  9. 9     private DeptMapper deptMapper;
  10. 10
  11. 11     public DeptMapper getDeptMapper() {
  12. 12         return deptMapper;
  13. 13     }
  14. 14
  15. 15     public void setDeptMapper(DeptMapper deptMapper) {
  16. 16         this.deptMapper = deptMapper;
  17. 17     }
  18. 18
  19. 19     @Override
  20. 20     public List<Dept> downOption() {
  21. 21         return deptMapper.selectAllDept();
  22. 22     }
  23. 23 }
复制代码
DeptServiceImpl.java
  1. 1 package com.service;
  2. 2
  3. 3 import com.mapper.EmpMapper;
  4. 4 import com.pojo.Emp;
  5. 5
  6. 6 import java.util.List;
  7. 7
  8. 8 public class EmpServiceImpl implements EmpService {
  9. 9     private EmpMapper empMapper;
  10. 10
  11. 11     public EmpMapper getEmpMapper() {
  12. 12         return empMapper;
  13. 13     }
  14. 14
  15. 15     public void setEmpMapper(EmpMapper empMapper) {
  16. 16         this.empMapper = empMapper;
  17. 17     }
  18. 18
  19. 19     @Override
  20. 20     public List<Emp> show(Emp emp) {
  21. 21         return empMapper.selectEmp(emp);
  22. 22     }
  23. 23
  24. 24     @Override
  25. 25     public int add(Emp emp) {
  26. 26         return empMapper.insertEmp(emp);
  27. 27     }
  28. 28
  29. 29     @Override
  30. 30     public int edit(Emp emp) {
  31. 31         return empMapper.updateEmp(emp);
  32. 32     }
  33. 33
  34. 34     @Override
  35. 35     public int del(Emp emp) {
  36. 36         return empMapper.deleteEmp(emp);
  37. 37     }
  38. 38 }
复制代码
EmpServiceImpl.java6、在resources目录下的mapper包下构建2个映射xml文件,即DeptMapppr.xml和EmpMapper.xml
  1. 1 <?xml version="1.0" encoding="UTF-8" ?>
  2. 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. 3
  4. 4
  5. 5
  6. 6 <mapper namespace="com.mapper.DeptMapper">
  7. 7      <select id="selectAllDept" resultType="Dept">
  8. 8           select * from dept
  9. 9      </select>
  10. 10 </mapper>
复制代码
DeptMapppr.xml
  1.   1 <?xml version="1.0" encoding="UTF-8" ?>
  2.   2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3.   3 <mapper namespace="com.mapper.EmpMapper">
  4.   4   
  5. 21     
  6. 22     
  7. 23     
  8. 24     <select id="selectEmp" resultMap="empmap" parameterType="Emp">
  9. 25          select d.dname,d.loc,e.* from emp e,dept d where e.deptno=d.deptno
  10. 26          <if test="empno!=null">
  11. 27              and e.empno=#{empno}
  12. 28          </if>
  13. 29          <if test="ename!=null">
  14. 30              and e.ename=#{ename}
  15. 31          </if>
  16. 32          <if test="job!=null">
  17. 33              and e.job=#{job}
  18. 34          </if>
  19. 35          <if test="dept!=null and dept.deptno!=null">
  20. 36              and e.deptno=#{dept.deptno}
  21. 37          </if>
  22. 38     </select>
  23. 39
  24. 40     <resultMap id="empmap" type="Emp">
  25. 41         
  26. 42         <id column="EMPNO" property="empno"/>
  27. 43         <result column="ENAME" property="ename"/>
  28. 44         <result column="JOB " property="job"/>
  29. 45         <result column="MGR" property="mgr"/>
  30. 46         <result column="HIREDATE" property="hiredate"/>
  31. 47         <result column="SAL" property="sal"/>
  32. 48         <result column="COMM" property="comm"/>
  33. 49
  34. 50         
  35. 51         
  36. 52         
  37. 53         
  38. 54         <association property="dept" javaType="Dept" column="DEPTNO">
  39. 55            
  40. 56             <id column="DEPTNO" property="deptno"/>
  41. 57             <result column="DNAME" property="dname"/>
  42. 58             <result column="LOC" property="loc"/>
  43. 59         </association>
  44. 60     </resultMap>
  45. 61
  46. 62     <insert id="insertEmp" parameterType="Emp">
  47. 63          INSERT  INTO emp(empno, ename, job, mgr, hiredate, sal, comm, deptno) VALUES
  48. 64          (#{empno},#{ename},#{job},#{mgr},#{hiredate},#{sal},#{comm},#{dept.deptno})
  49. 65     </insert>
  50. 66
  51. 67     
  52. 68     <update id="updateEmp" parameterType="Emp">
  53. 69         UPDATE emp
  54. 70         <set>
  55. 71             <if test="ename!=null">
  56. 72                 ename=#{ename} ,
  57. 73             </if>
  58. 74             <if test="job!=null">
  59. 75                 job=#{job} ,
  60. 76             </if>
  61. 77             <if test="mgr!=null">
  62. 78                    mgr=#{mgr} ,
  63. 79             </if>
  64. 80             <if test="hiredate!=null">
  65. 81                 hiredate=#{hiredate} ,
  66. 82             </if>
  67. 83             <if test="sal!=null">
  68. 84                  sal=#{sal},
  69. 85             </if>
  70. 86             <if test="comm!=null">
  71. 87                comm=#{comm},
  72. 88             </if>
  73. 89             <if test="dept!=null and dept.deptno!=null">
  74. 90                deptno=#{dept.deptno}  ,
  75. 91             </if>
  76. 92         </set>
  77. 93         <include refid="wherecondition"/>
  78. 94     </update>
  79. 95
  80. 96     <delete id="deleteEmp" parameterType="Emp">
  81. 97         delete from emp
  82. 98         <include refid="wherecondition"/>
  83. 99     </delete>
  84. 100
  85. 101      
  86. 102    <sql id="wherecondition">
  87. 103        <where>
  88. 104            <if test="empno!=null">
  89. 105                empno=#{empno}
  90. 106            </if>
  91. 107        </where>
  92. 108    </sql>
  93. 109
  94. 110 </mapper>
复制代码
EmpMapper.xml7、在resources根目录下编辑log4j.properties日志文件
  1. 1 log4j.rootLogger=DEBUG, Console  
  2. 2 #Console  
  3. 3 log4j.appender.Console=org.apache.log4j.ConsoleAppender  
  4. 4 log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
  5. 5 log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n  
  6. 6
  7. 7 log4j.logger.org.apache=INFO  
  8. 8 log4j.logger.java.sql.ResultSet=INFO  
  9. 9 log4j.logger.java.sql.Connection=DEBUG  
  10. 10 log4j.logger.java.sql.Statement=DEBUG  
  11. 11 log4j.logger.java.sql.PreparedStatement=DEBUG   
复制代码
log4j.properties8、在resources根目录下构建spring的xml文件,即applicationContext.xml日志文件
  1. 1 <?xml version="1.0" encoding="UTF-8"?>
  2. 2 <beans xmlns="http://www.springframework.org/schema/beans"
  3. 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. 4        xmlns:aop="http://www.springframework.org/schema/aop"
  5. 5        xmlns:context="http://www.springframework.org/schema/context"
  6. 6        xmlns:tx="http://www.springframework.org/schema/tx"
  7. 7        xmlns:mvc="http://www.springframework.org/schema/mvc"
  8. 8        xsi:schemaLocation="http://www.springframework.org/schema/beans
  9. 9        http://www.springframework.org/schema/beans/spring-beans.xsd
  10. 10        http://www.springframework.org/schema/aop
  11. 11        http://www.springframework.org/schema/aop/spring-aop.xsd
  12. 12        http://www.springframework.org/schema/context
  13. 13        http://www.springframework.org/schema/context/spring-context.xsd
  14. 14        http://www.springframework.org/schema/tx
  15. 15        http://www.springframework.org/schema/tx/spring-tx.xsd
  16. 16        http://www.springframework.org/schema/mvc
  17. 17        http://www.springframework.org/schema/mvc/spring-mvc.xsd
  18. 18 ">
  19. 19     
  20. 20     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  21. 21         <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  22. 22         <property name="url" value="jdbc:mysql://localhost:3306/ar"/>
  23. 23         <property name="username" value="root"/>
  24. 24         <property name="password" value="123456"/>
  25. 25     </bean>
  26. 26   
  27. 27     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  28. 28         <property name="dataSource" ref="dataSource"/>
  29. 29     </bean>
  30. 30      
  31. 31     <tx:annotation-driven transaction-manager="transactionManager"/>
  32. 32      
  33. 33     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  34. 34           <property name="dataSource" ref="dataSource"/>
  35. 35         
  36. 36         <property name="typeAliasesPackage" value="com.pojo"/>
  37. 37
  38. 38         
  39. 39         <property name="mapperLocations" value="classpath:mapper/*.xml"/>
  40. 40
  41. 41         
  42. 42         
  43. 43     </bean>
  44. 44
  45. 45     
  46. 46     
  47. 47     <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
  48. 48           <constructor-arg  ref="sqlSessionFactory"/>
  49. 49     </bean>
  50. 50
  51. 51     
  52. 52     <bean id="deptMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
  53. 53          <property name="sqlSessionTemplate" ref="sqlSessionTemplate"/>
  54. 54         <property name="mapperInterface" value="com.mapper.DeptMapper"/>
  55. 55     </bean>
  56. 56
  57. 57     <bean id="empMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
  58. 58          <property name="sqlSessionTemplate" ref="sqlSessionTemplate"/>
  59. 59         <property name="mapperInterface" value="com.mapper.EmpMapper"/>
  60. 60     </bean>
  61. 61
  62. 62     <bean id="deptService" class="com.service.DeptServiceImpl">
  63. 63          <property name="deptMapper" ref="deptMapper"/>
  64. 64     </bean>
  65. 65     <bean id="empService" class="com.service.EmpServiceImpl">
  66. 66          <property name="empMapper" ref="empMapper"/>
  67. 67     </bean>
  68. 68 </beans>
复制代码
applicationContext.xml9、在java目录下的com.test包下构建测试类,即ScottTest.java
  1. 1 package com.test;
  2. 2 import com.mapper.DeptMapper;
  3. 3 import com.mapper.EmpMapper;
  4. 4 import com.pojo.Dept;
  5. 5 import com.pojo.Emp;
  6. 6 import com.service.DeptService;
  7. 7 import com.service.EmpService;
  8. 8 import org.junit.Test;
  9. 9 import org.springframework.context.ApplicationContext;
  10. 10 import org.springframework.context.support.ClassPathXmlApplicationContext;
  11. 11 import java.util.List;
  12. 12 public class ScottTest {
  13. 13     ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
  14. 14     DeptService deptService= (DeptService)ac.getBean("deptService");
  15. 15     EmpService empService= (EmpService)ac.getBean("empService");
  16. 16
  17. 17     @Test
  18. 18    public void selectDept(){
  19. 19
  20. 20       List<Dept> deptList=deptService.downOption();
  21. 21        for (Dept d:deptList) {
  22. 22            System.out.println(d);
  23. 23        }
  24. 24    }
  25. 25
  26. 26    @Test
  27. 27    public void selectEmp(){
  28. 28        Emp emp=new Emp();
  29. 29 //       emp.setEmpno(7788);
  30. 30 //      emp.setEname("SCOTT");
  31. 31     //  emp.setJob("SALESMAN");
  32. 32       emp.setDept(new Dept(20,null,null));
  33. 33        List<Emp> emplist=empService.show(emp);
  34. 34        for (Emp e:emplist ) {
  35. 35            System.out.println(e);
  36. 36        }
  37. 37    }
  38. 38
  39. 39    @Test
  40. 40    public void insertEmp(){
  41. 41        Dept dept= new Dept(10,null,null);
  42. 42        Emp emp=new Emp(1,"holly","teacher",7788,
  43. 43                "2015-05-05",1200.00,15.00,dept);
  44. 44        System.out.println(empService.add(emp)>0?"add success":"add fail");
  45. 45    }
  46. 46    @Test
  47. 47    public void updateEmp(){
  48. 48        Dept dept= new Dept(20,null,null);
  49. 49        Emp emp=new Emp(1,"holly","teacher",7788,
  50. 50                "2015-05-05",1200.00,15.00,dept);
  51. 51        System.out.println(empService.edit(emp)>0?"update success":"update fail");
  52. 52    }
  53. 53    @Test
  54. 54    public void deleteEmp(){
  55. 55        Emp emp=new Emp();
  56. 56        emp.setEmpno(1);
  57. 57        System.out.println(empService.del(emp)>0?"delete success":"delete fail");
  58. 58    }
  59. 59 }
复制代码
ScottTest.java10、简单测试某个方法

 
 
此文章为原创,转载请注明出处!需要本案例源码,理论讲解视频,代码操作视频的,请私信联系作者!
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连密封材料

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表