`
wangweij
  • 浏览: 11221 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

仿hibernate映射机制对Excel进行读写

阅读更多

读取和写入使用的是jxl组件

 

昨天项目中遇到了处理Excel的功能.记得在以前写过的读取Excel都是利用坐标之类的来进行的.昨天突发奇想:可不可以把Excel当做数据库的一张表来处理?!经过考虑之后觉得可行.大体实现思路如下:

1.首先建立映射关系文件:excelmapping.xml

  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2. <excel-mapping>  
  3.   <class name="com.bjce.uum.excel.domain.ExcelBean">  
  4.     <pop excelPop="姓名" classPop="userName">pop>  
  5.     <pop excelPop="性别" classPop="sexName">pop>  
  6.     <pop excelPop="出生日期" classPop="birthday">pop>  
  7.     <pop excelPop="单位编码" classPop="unitCode">pop>  
  8.     <pop excelPop="固定电话" classPop="phone">pop>  
  9.     <pop excelPop="移动手机" classPop="mobilePhone">pop>  
  10.   class>  
  11. excel-mapping>  

 

1.1 class:定义一个Excel的配置信息.

1.2 name:定义存储Excel每一行的类.类似于Hibernate的pojo.

1.3 excelPop:Excel文件中的列名.

1.4 classPop:映射类中的属性

1.                      读取Excel时首先读取excelmapping.xml配置文件.取出映身关系和映射类.读取Excel中的所有行和列,循环每一行的每一列,并取出每列的列名.在映身关系中查找与之对应的类属性.读出此列中的数据写入类属性中.读完整行之后将类写入集合中.循环所有行之后就产生了与Excel相对应的类的集合.

2.                      写入Excel时首先读取excelmapping.xml配置文件.取出映身关系和映射类.将映射文件中配置的Excel列名写入第一行.获得写入的Excel列名.循环整个将要写入Excel的集合.取出集合中的每一个类.根据映射文件描述的Excel列名与类中属性关系.找出Excel中列名对应的类属性.拿出类中此属性的数据并写入Excel中对应的列名下

 

此方法只能适用于简单的Excel读写.

  • 大小: 32.6 KB
分享到:
评论
34 楼 suncjh 2008-03-28  
非常不错,很有创意!!
33 楼 ajworld 2007-09-20  
感谢楼主,对我帮助很大,因为我们的产品很多模块客户都要求把历史数据导入,我们许多模块都做个excel导入,程序量很大,且重复代码太多,其实还可以完善一下,做一个标准的excel导入组件,主要是在持久化这一块的判断
32 楼 aoaoao 2007-09-18  
我来支持一下,这种思路挺好,体现2/8精神,再深入投入产出比就不高了。
31 楼 wangweij 2007-09-17  
<p>不知道你们在说什么呢<img src='/javascripts/fckeditor/editor/images/smiley/msn/sad_smile.gif' alt=''/>.看看刚一开始.已经说了用于简单的处理.不用的话也一样.可以自已去程序中定义显示位置</p>
30 楼 sun128837 2007-09-17  
同意楼上
你丫的这么啃,我感觉就是在找麻烦
不渗入业务,又有多平台使用那就放入工具箱,简单应用不值得考虑
29 楼 tomgreenintel 2007-09-17  
没必要把一些简单的事情复杂化。除非有业务上的需求。最简单最好
28 楼 wangweij 2007-09-17  
<p>动态  </p>
<p>读的时候可能很因难.但写出到Excel应该没有什么难度吧.</p>
<p>现在这东西是个很简单的家伙.要是真有那么强大:)  $$$$$$$$$$$$ 嘿嘿!</p>
<p> </p>
27 楼 cayenne 2007-09-16  
如果列是动态的话。。。
26 楼 fuliang 2007-09-14  
以前在公司实习也做一个使用Java反射来把把Domain导入Excel,以及读取Excel装配成Domain的一个模块.
25 楼 insky 2007-09-14  
tomgreenintel 写道
感觉不可取。如果execl有图片呢?怎么去对应呢?
或者有些公式呢?

呵...有图片不能用这种方式处理的,图片可能占到多个表格,需要单独处理的。这种只考虑文字形式,企业处理的话,也多是面临对字符,文字,数字处理吧。
24 楼 wangweij 2007-09-14  
<p>正在研究复杂EXCEL的定制.有什么好的见意都来说说<img src='/javascripts/fckeditor/editor/images/smiley/msn/wink_smile.gif' alt=''/></p>
23 楼 tomgreenintel 2007-09-10  
感觉不可取。如果execl有图片呢?怎么去对应呢?
或者有些公式呢?
22 楼 insky 2007-09-07  
<br/>
<strong>wangweij 写道:</strong><br/>
<div class='quote_div'>
<p>因为user中sex是一个性别对象,从Excel中得到的只是sex.name....需要转为sex对象后才可以直接用.否则得到的集合还是需要进行转换的.</p>
<p>可以在读取Excel时进行处理.但有些时候处理这种问题通常有一个处理规则.也许这种规则很复杂.</p>
<p>》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》</p>
<p>上面的置配文件中.配了sex属性对应的对象.表名,主键.这样的话可以根据XXX_SEX和主键来查出对应类在放入对象.</p>
<p>如果Excel中性别这一列中数据为sex主键的话:)</p>
</div>
<p><br/>
想做到通用处理规则肯定会相当复杂,xml中涉及的类型都需要作出判断,这里封装的好才可以完整的把数据处理成pojo返回给业务端,虽然我还没能理解您这里sex为什么单独抽取成一个对象,但是即使是一个对象,您照样可以处理后把这个sex对象塞给user啊,这里应该没有负责或者说难点吧?或者我还没有理解您的意思</p>
<p>btw:加您qq貌似您经常不在线?<br/>
<br/>
<br/>
</p>
21 楼 wangweij 2007-09-07  
<p>因为user中sex是一个性别对象,从Excel中得到的只是sex.name....需要转为sex对象后才可以直接用.否则得到的集合还是需要进行转换的.</p>
<p>可以在读取Excel时进行处理.但有些时候处理这种问题通常有一个处理规则.也许这种规则很复杂.</p>
<p>》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》</p>
<p>上面的置配文件中.配了sex属性对应的对象.表名,主键.这样的话可以根据XXX_SEX和主键来查出对应类在放入对象.</p>
<p>如果Excel中性别这一列中数据为sex主键的话:)</p>
20 楼 insky 2007-09-07  
<div class='code_title'>xml 代码</div>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-xml'>
    <li class='alt'><span><span class='tag'>&lt;</span><span class='tag-name'>pop</span><span>        </span></span></li>
    <li class=''><span>            </span><span class='attribute'>excelPop</span><span>=</span><span class='attribute-value'>"性别"</span><span>        </span></li>
    <li class='alt'><span>            </span><span class='attribute'>classPop</span><span>=</span><span class='attribute-value'>"sex"</span><span>      </span></li>
    <li class=''><span>            </span><span class='attribute'>type</span><span>=</span><span class='attribute-value'>"com.bjce.uum.excel.domain.Sex"</span><span>        </span></li>
    <li class='alt'><span>            </span><span class='attribute'>tableId</span><span>=</span><span class='attribute-value'>"sex_id"</span><span>      </span></li>
    <li class=''><span>            </span><span class='attribute'>table</span><span>=</span><span class='attribute-value'>"XXX_SEX"</span><span class='tag'>&gt;</span><span>      </span></li>
    <li class='alt'><span>    pop</span><span class='tag'>&gt;</span><span>    </span></li>
</ol>
</div>
<p>这里的性别您自己又定义了一个Sex类?性别不应该是user的一个属性吗?为什么又单独定义一个类?如果是user的属性的话,读取出来的是string类型这里加一个判断,转换下塞给user类不就ok了?</p>
<p>楼上的c#代码??没太看明白,但好像您没有看明白我们讨论的问题。</p>
<p>=============================</p>
<p>大家觉得通用性的通过xml配置文件处理Excel文件有实际应用价值吗?会不会太简单而没研究价值?查了好多paper,国内似乎真没这个方面的,是太过简单还是不值得发?</p>
<p>Tks all</p>
19 楼 hcqgx 2007-09-07  
用XML来做模板  做一个通用类 来导出EXCEL  我用C#做了一个

<?xml version="1.0" encoding="utf-8" ?>
<report>
  <page>  <!-- 页面设置 -->
    <add key="cols"  value="1" />
    <add key="1" tmn="1.2" bmn="1.2" lmn="1" rmn="1" hmn="0" lhr="" chr="" rhr="" fmn="0" lfr="" cfr="" rfr="" prno="0" bds="0" prs="33" pcs="7" />
  </page>

  <titile>  <!--  标题 -->
    <add key="cols"  value="1" />
    <add key="1" txt="旬 总 表" font="宋体" size="20" bold="1" rows="1" col1="1" col2="7" width="0" height="90" bds="0" align="2" valign="2" />
  </titile>

  <brow>  <!-- 表眉 -->
    <add key="cols"  value="2" font="黑体" size="11" bold="0"  rows="1" />
    <add key="1" txt="年  份:" font="黑体"  size="11"  bold="0"  rows="1"  col1="1"  col2="6"  width="0"  height="20"  align="2"  valign="1"  tbr="0"  bbr="0"  lbr="0"  rbr="0"  field="yf"  fadd="0"  rowadd="0" />
    <add key="2" txt=""         font="宋体"  size="11"  bold="0"  rows="1"  col1="7"  col2="7"  width="0"  height="20"  align="2"  valign="3"  tbr="0"  bbr="0"  lbr="0"  rbr="0"  field="#pageno"  fadd="0"  rowadd="0" />
  </brow>

  <head>  <!--  表头 -->   <!-- rows 表示行数 -->
    <add key="cols"  value="7"   font="黑体"  size="11" bold="0"  rows="1" />
    <add key="1"  txt="票据类型"      font="黑体"  size="11"  bold="0"  rows="1"  col1="1"  col2="1"  width="0"  height="20"  align="2"  valign="2"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field=""  fadd="0"  rowadd="0" />
    <add key="2"  txt="期初结存份数"  font="黑体"  size="11"  bold="0"  rows="1"  col1="2"  col2="2"  width="0"  height="20"  align="2"  valign="2"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field=""  fadd="0"  rowadd="0" />
    <add key="3"  txt="本旬领入份数"  font="黑体"  size="11"  bold="0"  rows="1"  col1="3"  col2="3"  width="0"  height="20"  align="2"  valign="2"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field=""  fadd="0"  rowadd="0" />
    <add key="4"  txt="本旬核销份数"  font="黑体"  size="11"  bold="0"  rows="1"  col1="4"  col2="4"  width="0"  height="20"  align="2"  valign="2"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field=""  fadd="0"  rowadd="0" />
    <add key="5"  txt="本旬核销废票"  font="黑体"  size="11"  bold="0"  rows="1"  col1="5"  col2="5"  width="0"  height="20"  align="2"  valign="2"  tbr="1"  bbr="0"  lbr="1"  rbr="1"  field=""  fadd="0"  rowadd="0" />
    <add key="6"  txt="本旬核销金额"  font="黑体"  size="11"  bold="0"  rows="1"  col1="6"  col2="6"  width="0"  height="20"  align="2"  valign="2"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field=""  fadd="0"  rowadd="0" />
    <add key="7"  txt="期末结存份数"  font="黑体"  size="11"  bold="0"  rows="1"  col1="7"  col2="7"  width="0"  height="20"  align="2"  valign="2"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field=""  fadd="0"  rowadd="0" />
  </head>

  <data>  <!-- 数据区 -->
    <add key="cols"  value="7" font="宋体" size="11" bold="0" tbr="1"  bbr="1"  lbr="1"  rbr="1" border="1" height="20"/>
    <add key="1" txt=""  font="宋体"  size="11"  bold="0"  rows="1"  col1="1"  col2="1"  width="13"  height="20"  align="2"  valign="1"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field="Shty"  fadd="0"  rowadd="0" />
    <add key="2" txt=""  font="宋体"  size="11"  bold="0"  rows="1"  col1="2"  col2="2"  width="12"  height="20"  align="2"  valign="3"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field="GetBe"         fadd="0"  rowadd="0" />
    <add key="3" txt=""  font="宋体"  size="11"  bold="0"  rows="1"  col1="3"  col2="3"  width="12"  height="20"  align="2"  valign="3"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field="GetEn"         fadd="0"  rowadd="0" />
    <add key="4" txt=""  font="宋体"  size="11"  bold="0"  rows="1"  col1="4"  col2="4"  width="12"  height="20"  align="2"  valign="3"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field="UseBe"         fadd="0"  rowadd="0" />
    <add key="5" txt=""  font="宋体"  size="11"  bold="0"  rows="1"  col1="5"  col2="5"  width="12"  height="20"  align="2"  valign="3"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field="UseEn"         fadd="0"  rowadd="0" />
    <add key="6" txt=""  font="宋体"  size="11"  bold="0"  rows="1"  col1="6"  col2="6"  width="12"  height="20"  align="2"  valign="3"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field="TotBe"         fadd="0"  rowadd="0" />
    <add key="7" txt=""  font="宋体"  size="11"  bold="0"  rows="1"  col1="7"  col2="7"  width="12"  height="20"  align="2"  valign="3"  tbr="1"  bbr="1"  lbr="1"  rbr="1"  field="TotEn"         fadd="0"  rowadd="0" />
  </data>

  <foot>  <!-- 表脚 -->
    <add key="cols"  value="3" font="黑体" size="11" bold="0" rows="1" />
    <add key="1" txt="负责人:"  font="黑体"  size="11"  bold="0"  rows="1"  col1="1"  col2="2"  width="0"  height="20"  align="2"  valign="1"  tbr="0"  bbr="0"  lbr="0"  rbr="0"  field="fzr"  fadd="0"  rowadd="0" />
    <add key="2" txt="审  核:"  font="黑体"  size="11"  bold="0"  rows="1"  col1="3"  col2="4"  width="0"  height="20"  align="2"  valign="1"  tbr="0"  bbr="0"  lbr="0"  rbr="0"  field="shr"  fadd="0"  rowadd="0" />
    <add key="3" txt="制表人:"  font="黑体"  size="11"  bold="0"  rows="1"  col1="5"  col2="7"  width="0"  height="20"  align="2"  valign="1"  tbr="0"  bbr="0"  lbr="0"  rbr="0"  field="zbr"  fadd="0"  rowadd="0" />
  </foot>

</report>


18 楼 wangweij 2007-09-07  
<p> </p>
<p> </p>
<p> <img src='http://www.iteye.com/topics/download/762dcaa2-0531-4e95-acc8-9e6e7fe08c4b' alt=''/><a href='http://www.iteye.com/upload/attachment/pic/8345/c62c4f17-eace-4f97-a404-55aca3ba1f1f-'/></p>
<p>性别这一列是user的一个对象.像这种的就不可能封入到PO中直接用了.但是如果此列中的数据是性别的ID.就应该能解决了.</p>
<p>在配置文件中置配</p>
<p> </p>
<div class='code_title'>xml 代码</div>
<div class='dp-highlighter'>
<div class='bar'/>
<ol class='dp-xml'>
    <li class='alt'><span><span class='tag'><!----><span class='tag-name'>xml</span><span> </span><span class='attribute'>version</span><span>=</span><span class='attribute-value'>"1.0"</span><span> </span><span class='attribute'>encoding</span><span>=</span><span class='attribute-value'>"UTF-8"</span><span class='tag'>?&gt;</span><span>  </span></span> </span></li>
    <li class=''><span/><span class='tag'>&lt;</span><span class='tag-name'>excel-mapping</span><span class='tag'>&gt;</span><span>  </span> </li>
    <li class='alt'><span>  </span><span class='tag'>&lt;</span><span class='tag-name'>class</span><span> </span><span class='attribute'>name</span><span>=</span><span class='attribute-value'>"com.bjce.uum.excel.domain.ExcelBean"</span><span class='tag'>&gt;</span><span>  </span> </li>
    <li class=''><span>    </span><span class='tag'>&lt;</span><span class='tag-name'>pop</span><span> </span><span class='attribute'>excelPop</span><span>=</span><span class='attribute-value'>"姓名"</span><span> </span><span class='attribute'>classPop</span><span>=</span><span class='attribute-value'>"userName"</span><span> </span><span class='attribute'>type</span><span>=</span><span class='attribute-value'>"string"</span><span class='tag'>&gt;</span><span class='tag'><span class='tag-name'>pop</span><span class='tag'>&gt;</span><span>  </span> </span></li>
    <li class='alt'><span>    </span><span class='tag'>&lt;</span><span class='tag-name'>pop</span><span>    </span> </li>
    <li class=''><span>            </span><span class='attribute'>excelPop</span><span>=</span><span class='attribute-value'>"性别"</span><span>    </span> </li>
    <li class='alt'><span>            </span><span class='attribute'>classPop</span><span>=</span><span class='attribute-value'>"sex"</span><span>  </span> </li>
    <li class=''><span>            </span><span class='attribute'>type</span><span>=</span><span class='attribute-value'>"com.bjce.uum.excel.domain.Sex"</span><span>    </span> </li>
    <li class='alt'><span>            </span><span class='attribute'>tableId</span><span>=</span><span class='attribute-value'>"sex_id"</span><span>  </span> </li>
    <li class=''><span>            </span><span class='attribute'>table</span><span>=</span><span class='attribute-value'>"XXX_SEX"</span><span class='tag'>&gt;</span><span>  </span> </li>
    <li class='alt'><span>    </span><span class='tag'><span class='tag-name'>pop</span><span class='tag'>&gt;</span><span>  </span> </span></li>
    <li class=''><span>    </span><span class='tag'>&lt;</span><span class='tag-name'>pop</span><span> </span><span class='attribute'>excelPop</span><span>=</span><span class='attribute-value'>"出生日期"</span><span> </span><span class='attribute'>classPop</span><span>=</span><span class='attribute-value'>"birthday"</span><span> </span><span class='attribute'>type</span><span>=</span><span class='attribute-value'>"date"</span><span class='tag'>&gt;</span><span class='tag'><span class='tag-name'>pop</span><span class='tag'>&gt;</span><span>  </span> </span></li>
    <li class='alt'><span>    </span><span class='tag'>&lt;</span><span class='tag-name'>pop</span><span> </span><span class='attribute'>excelPop</span><span>=</span><span class='attribute-value'>"单位编码"</span><span> </span><span class='attribute'>classPop</span><span>=</span><span class='attribute-value'>"unitCode"</span><span> </span><span class='attribute'>type</span><span>=</span><span class='attribute-value'>"integer"</span><span class='tag'>&gt;</span><span class='tag'><span class='tag-name'>pop</span><span class='tag'>&gt;</span><span>  </span> </span></li>
    <li class=''><span>    </span><span class='tag'>&lt;</span><span class='tag-name'>pop</span><span> </span><span class='attribute'>excelPop</span><span>=</span><span class='attribute-value'>"固定电话"</span><span> </span><span class='attribute'>classPop</span><span>=</span><span class='attribute-value'>"phone"</span><span> </span><span class='attribute'>type</span><span>=</span><span class='attribute-value'>"string"</span><span class='tag'>&gt;</span><span class='tag'><span class='tag-name'>pop</span><span class='tag'>&gt;</span><span>  </span> </span></li>
    <li class='alt'><span>    </span><span class='tag'>&lt;</span><span class='tag-name'>pop</span><span> </span><span class='attribute'>excelPop</span><span>=</span><span class='attribute-value'>"移动手机"</span><span> </span><span class='attribute'>classPop</span><span>=</span><span class='attribute-value'>"mobilePhone"</span><span> </span><span class='attribute'>type</span><span>=</span><span class='attribute-value'>"integer"</span><span class='tag'>&gt;</span><span class='tag'><span class='tag-name'>pop</span><span class='tag'>&gt;</span><span>  </span> </span></li>
    <li class=''><span>  </span><span class='tag'><span class='tag-name'>class</span><span class='tag'>&gt;</span><span>  </span> </span></li>
    <li class='alt'><span/><span class='tag'><span class='tag-name'>excel-mapping</span><span class='tag'>&gt;</span><span>  </span> </span></li>
</ol>
</div>
<p>可惜.用户是不可能也不想知道性别的ID的.所以此方法基本不可行</p>
17 楼 coder1982 2007-09-07  
有没有处理复杂的EXCEL的解决方法呢?
我的工作中经常要解析EXCEL文档,分大格和小格
16 楼 insky 2007-09-06  
发现这个题目的资料不是很多,多是excel读写或者转换成xml的内容,问下各位大牛,google这个项目相关的英文资料该搜什么关键词?
15 楼 insky 2007-09-06  
crossgrass 写道
我在应用中碰到的情况一般通过excel读入的都是需要持久化的数据。而excel中数据一般只是po的一部分。而且涉及到导入到多张表的时候通过配置文件就比较麻烦了。

这里不太明白您说的麻烦是什么意思?能具体说下需求吗?po的一部分就只需取excel对应列的数据就ok了,多表掺杂起来也不会影响处理难度的哦。您能给下您的具体excel模板与pojo类看下?

相关推荐

    springmvc+hibernate+poi实现mysql数据库简单操作以及导出excel功能

    在本项目中,我们主要探讨如何使用SpringMVC、Hibernate框架与Apache POI库来实现对MySQL数据库的操作以及数据导出为Excel的功能。这是一项常见的需求,在企业级应用开发中非常实用,尤其对于数据管理和报告生成场景...

    IO流读写excel文档,并写入数据库

    在IT行业中,处理数据是常见的任务之一,而Excel文件作为数据存储和交换的常用格式,经常需要与应用程序进行交互。本项目"IO流读写excel文档,并写入数据库"聚焦于利用Java技术栈来实现这一功能,特别是结合了Spring...

    struts,hibernate,spring,jfreechart,导出excel,导出pdf 完美整合

    整合以上技术,可以构建一个功能完善的Web应用,用户可以通过Struts框架提交请求,Spring进行事务管理并调用业务逻辑,业务逻辑可能涉及到使用Hibernate对数据库进行CRUD操作。同时,应用还可以利用JFreeChart生成...

    SpringMVC+Hibernate+POI导入导出excel

    在IT行业中,SpringMVC、Hibernate和Apache POI是三个非常重要的框架和库,它们分别在Web应用开发、对象关系映射(ORM)以及Excel数据处理方面发挥着关键作用。本项目结合了这三个技术,实现了Excel文件的导入与导出...

    Excel 导出 struts2 spring hibernate

    3. **异常处理**:良好的错误处理机制是必要的,如捕获并提示用户读写文件或数据库操作中的异常。 文件"Excel数据在(jsp+ssh)环境下导入导出.docx"可能是详细的步骤指南或代码示例,对于实际操作非常有帮助。阅读这...

    Spring+springMVC+hibernate做的一个导入Excel

    同时,为了提高性能,可以对大数据量的Excel文件进行分批处理,或者使用多线程技术。 10. **测试**:项目的质量保证需要进行单元测试、集成测试和端到端测试。例如,可以使用JUnit测试导入逻辑,Mockito模拟Spring...

    ssh+excel+poi

    标题中的“ssh+excel+poi”指的是一种在Java开发中结合使用Spring、Struts2和Hibernate(SSM框架)来处理Excel数据的技术。SSH是一个常见的企业级Java Web应用程序开发框架,而Excel处理则主要涉及Apache POI库。...

    ssh整合poi导入导出Excel

    首先,SSH框架中的Spring负责管理应用程序的依赖和事务,Struts2作为MVC框架处理HTTP请求和响应,而Hibernate则作为ORM(对象关系映射)工具,帮助开发者将Java对象与数据库表进行映射,简化数据操作。 在Excel导入...

    IReport+spring+hibernate

    这个项目利用了IReport来设计和生成各种类型的报表,同时结合了Spring框架进行业务逻辑管理,以及Hibernate作为数据访问层的工具,实现了与MySQL数据库的交互。 IReport是JasperReports库的一部分,主要用于创建...

    开发hibernate完整的必须的jar包,在您的开发之初帮助你

    在开发Java应用程序,特别是涉及到持久化层操作时,Hibernate是一个非常流行的对象关系映射(ORM)框架。这个压缩包包含了开发Hibernate项目所必需的一些核心库和依赖,它们可以帮助您快速搭建开发环境,避免因缺少...

    struts22.3.4.1+hibernate4.1.6+spring3.1.2整合jar包

    "poi"则指的是Apache POI项目,它允许Java程序读写Microsoft Office格式的文件,如Excel,这对于数据分析和报告生成非常有用。 在SSH整合中,Spring通常作为核心框架,负责管理其他组件(如Struts2和Hibernate)的...

    用BUI+spring+springMVC+hibernate+mysql+spring boot做的excel上传,展示,导出,编辑,分页小项目

    本项目是一个基于BUI、Spring、SpringMVC、Hibernate、MySQL和Spring Boot的综合性小项目,专注于实现Excel的上传、展示、导出、编辑以及分页功能。该项目旨在提供一个快速开发工具,使得开发者能够便捷地处理Excel...

    struts2+spring+hibernate+生成报表

    Hibernate是ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库。在报表生成时,我们通常需要从数据库中查询大量数据,Hibernate可以通过其强大的查询语言HQL或者Criteria API,高效地获取并处理...

    springMVC+spring+hibernate jar包

    Hibernate通过实体类、映射文件或注解将Java对象与数据库表关联,提供了透明的CRUD操作和查询功能,支持一对多、多对一、多对多等各种关系映射。 4. **POI**: POI是Apache软件基金会的开源项目,用于读写...

    java之hibernate和spring技术难点及其要点总结

    9. **事务处理**:了解Hibernate中的事务处理机制对于保证数据一致性至关重要。 #### Spring关键技术点 1. **解决多数据源问题**:在复杂的系统架构中,往往需要同时连接多个不同的数据库,Spring提供了一套解决...

    struts、 hibernate、 spring、 jfreechart、 导出excel、 导出pdf 完美整合

    Struts、Hibernate、Spring、JFreeChart以及Excel和PDF导出是Java开发中的关键技术和库,它们在构建高效、可维护的企业级应用中扮演着重要角色。以下是对这些技术的详细说明: 1. **Struts**:Struts是Apache软件...

    Struts2+Hibernate学生成绩管理系统

    **Hibernate** 是一个对象关系映射(ORM)框架,简化了Java应用程序与数据库之间的交互。它将Java类与数据库表关联起来,允许开发者通过操作对象而不是SQL语句来管理数据。Hibernate支持自动持久化、查询语言(HQL)...

    struts1.2+spring+hibernate 简单的实现

    关于Excel报表生成,这通常涉及到Apache POI库,一个用于读写Microsoft Office格式文件的Java库。在这个项目中,可能是通过程序生成Excel工作簿,填充数据,然后提供给用户下载。这种方式允许根据需求动态生成定制化...

    java实现导入导出Excel表

    在SSH框架中,Struts2的Action会接收用户的请求,调用Service层进行业务逻辑处理,Service层可能会使用Hibernate来查询数据库,获取数据,然后使用POI将数据转化为Excel格式。最后,Action返回一个Result,指示...

    javaEE中Excel导入数据库范例

    POI是Apache软件基金会的一个项目,提供了API来读写Microsoft Office格式的文件,包括Excel。通过POI,我们可以解析Excel文件中的工作簿、工作表、行和单元格,提取所需数据。 4. **数据导入**:在导入过程中,程序...

Global site tag (gtag.js) - Google Analytics