<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>qianlei007</title>
    <description></description>
    <link>http://qianlei007.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>文件操作！</title>
        <author>qianlei007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://qianlei007.javaeye.com">qianlei007</a>&nbsp;
          链接：<a href="http://qianlei007.javaeye.com/blog/201686" style="color:red;">http://qianlei007.javaeye.com/blog/201686</a>&nbsp;
          发表时间: 2008年06月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">
//读文件转成字符串！
	public static String fileToString(String fileName) throws IOException {

		String lineContent = null;// 
		StringBuffer str = new StringBuffer();
		FileReader fr;
		try {
			fr = new FileReader(fileName);
			BufferedReader br = new BufferedReader(fr);//
			lineContent = new String();
			lineContent = br.readLine().trim();
			do {
				str.append(lineContent.trim());
			} while ((lineContent = br.readLine()) != null);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return str.toString();
	}


</pre>
          <br/>
          <span style="color:red;">
            <a href="http://qianlei007.javaeye.com/blog/201686#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 10 Jun 2008 10:29:21 +0800</pubDate>
        <link>http://qianlei007.javaeye.com/blog/201686</link>
        <guid>http://qianlei007.javaeye.com/blog/201686</guid>
      </item>
      <item>
        <title>洗牌算法！</title>
        <author>qianlei007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://qianlei007.javaeye.com">qianlei007</a>&nbsp;
          链接：<a href="http://qianlei007.javaeye.com/blog/201674" style="color:red;">http://qianlei007.javaeye.com/blog/201674</a>&nbsp;
          发表时间: 2008年06月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">
package readom;

public class Test {
	//随机整数=Int((max-min+1)*Rnd()+min) 


	public static void main(String args[]){




		int []result=new int[100];



		for(int i=0;i&lt;result.length;i++){
			result[i]=i+1;



		}

		int temp=0;

		for(int i=0;i&lt;result.length;i++){
			int random=(int)(Math.random()*100+1)-1;
			temp=result[i];
			result[i]=result[random];
			result[random]=temp;



		}

		for(int i=0;i&lt;result.length;i++){
			System.out.print(result[i]+",");



		}




	}



}

经常用，每次都去找，麻烦！




</pre>
          <br/>
          <span style="color:red;">
            <a href="http://qianlei007.javaeye.com/blog/201674#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 10 Jun 2008 10:06:12 +0800</pubDate>
        <link>http://qianlei007.javaeye.com/blog/201674</link>
        <guid>http://qianlei007.javaeye.com/blog/201674</guid>
      </item>
      <item>
        <title>说说可视化的工作流配置界面！</title>
        <author>qianlei007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://qianlei007.javaeye.com">qianlei007</a>&nbsp;
          链接：<a href="http://qianlei007.javaeye.com/blog/198153" style="color:red;">http://qianlei007.javaeye.com/blog/198153</a>&nbsp;
          发表时间: 2008年05月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          用过JBPM 的同学，想必都知道有一个eclipse的插件设计器，能生成你需要的流程JPDL。但是，往往流程随着业务不断的变化，难道每次我们都要重新修改代码？前段时间，一个项目就是这样，流程巨多，而且很多都三天两头的变化，其实，就是客户毛病多，太挑剔。<br />    提出一个新需求，用户可视化配置工作流，当听到这个需求的时候，心想，“这下挂了！”。人家普元的EOS 都不能完全做到这个需求，更何况我们呢？ 哎，死了都要做，没办法！<br />    由于原有的工作流就是用的JBPM，这个东东是不能换了，就围绕这他开始整吧。可视化界面，就是模仿JBPM 的设计器了，要生成xml文件，这下用js 实现还是有难度呀。 出于惰性，先去找找有没有现成的东东， 还真让我发现一个。 贴个效果图：<br /><img src="http://qianlei007.javaeye.com/upload/picture/pic/15861/6536229d-9cc6-3920-a3ce-43fb1ed73bca.jpg" /><br /><br />这个就不多说了，名字大家都看的到，XiorkFlow，作者很厉害了，JS 很强！<br /><br />由于工作流太复杂，流程定义的XML文件生成的类型太多，所以只实现了很简单的一部分。<br /><img src="http://qianlei007.javaeye.com/upload/picture/pic/15853/85293819-f970-3f6e-82e1-aa61c4099a6a.jpg" /><br />这样简单模拟了一个JS版本的XML文件设计器！<br /><br />下面讲一下，XML文件的生成问题，这个JS 生成的原始XML 文件包括了每个节点的坐标和连接信息，不是我需要的XML文件。首先，我是读取这个原始的XML文件，解析我需要的信息，然后生成我需要的XML，也就是JBPM认识的XML。虽然设计的不是很好，不过解决了部分问题。<br /><br />    下面，就可以发布流程了，因为和JBPM 的关联非常紧密，还是贴图片吧。 发布流程后，通过解析，我们会看到这样的效果。<br /><img src="http://qianlei007.javaeye.com/upload/picture/pic/15851/31c30f37-e419-3ade-be98-9b71bf8759cf.jpg" /><br /><br />对于每一个步骤，我们可以设置需要操作权限和处理权限:<br />操作权限：<br /><img src="http://qianlei007.javaeye.com/upload/picture/pic/15859/00cb9f33-25dd-397a-8151-f16d411c34d6.jpg" /><br />就是设置页面上面的控件，可见，不可见，可编辑，不可编辑，这基本上都满足了流程要求。<br /><br />处理权限：<br /><img src="http://qianlei007.javaeye.com/upload/picture/pic/15857/c764c840-9a31-3029-86f3-ad6a955b0430.jpg" /><br />设置处理人，就是那些人可以看到此步流程，可以是多个人，可以是一个人。<br /><br />最后，把这样一个流程和具体的模块绑定到一起，就OK 了。 这个模块就可以使用设置好的流程了。<br /><br />最好来一个流程模块的效果：<br /><img src="http://qianlei007.javaeye.com/upload/picture/pic/15855/1153673e-f4dd-3436-bb97-5d1084ca23ec.jpg" /><br /><br />可以看到次条业务数据在流程中的状态。<br /><br />设计思路基本介绍完了，欢迎大家拍砖！ 提些好的意见和建议（基于浏览器的图形处理，工作流的处理方案！）.<br /><br />最后想说的： 工作流很复杂，用户可视化配置实现起来不是很容易。
          <br/>
          <span style="color:red;">
            <a href="http://qianlei007.javaeye.com/blog/198153#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 29 May 2008 10:44:52 +0800</pubDate>
        <link>http://qianlei007.javaeye.com/blog/198153</link>
        <guid>http://qianlei007.javaeye.com/blog/198153</guid>
      </item>
      <item>
        <title>Spring数据库事务配置方式</title>
        <author>qianlei007</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://qianlei007.javaeye.com">qianlei007</a>&nbsp;
          链接：<a href="http://qianlei007.javaeye.com/blog/77245" style="color:red;">http://qianlei007.javaeye.com/blog/77245</a>&nbsp;
          发表时间: 2007年05月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p class="MsoNormal" align="center" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center"><font size="2"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Spring事务配置</span></font></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><font size="2"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要和数据库交流</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事务管理是必不可少的</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">刚刚开始学习</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">Spring</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">被他提供的功能吸引</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">确实减少了我们的编码量</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">.<o:p></o:p></font></span></font></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><font size="2"><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">Spring</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供了多种和数据库交流的办法</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们最常用的</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">JDBC, </font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在流行的</span><span style="FONT-SIZE: 9pt"><font face="Times New Roman"> <span lang="EN-US">O/R</span></font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">映射</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">含盖现在所有的和数据库交流的办法</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">. Spring</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不仅给我们提供了这些方法</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">同时还对其进行了有效的封装</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大大减少我们的公式编码工作</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">.</font></span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">:<o:p></o:p></font></span></font></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><font size="2"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,Spring</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">给我们提供的办法</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">.<o:p></o:p></font></span></font></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><font face="Times New Roman"><font size="2"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt">JdbcTemplate jdbcTemplate = </span><strong><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #7f0055; mso-font-kerning: 0pt">new </span></strong><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt">JdbcTemplate(dataSource);<o:p></o:p></span></font></font></p>
<p class="MsoNormal" align="left" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none"><font face="Times New Roman"><font size="2"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt">jdbcTemplate.update(</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #2a00ff; mso-font-kerning: 0pt">&quot;UPDATE user SET age = 10 WHERE id = 'erica'&quot;</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt">);<o:p></o:p></span></font></font></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="2"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是这样两句</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大大简化我们的编码工作量</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把我们的精力能更多的集中在数据的逻辑上</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">.<o:p></o:p></font></span></font></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="2"><span style="FONT-SIZE: 7.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注</span><span lang="EN-US" style="FONT-SIZE: 7.5pt"><font face="Times New Roman">:</font></span><span style="FONT-SIZE: 7.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这是</span><span lang="EN-US" style="FONT-SIZE: 7.5pt"><font face="Times New Roman">Spring</font></span><span style="FONT-SIZE: 7.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供的</span><span lang="EN-US" style="FONT-SIZE: 7.5pt"><font face="Times New Roman">JDBC</font></span><span style="FONT-SIZE: 7.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">访问模版</span><span lang="EN-US" style="FONT-SIZE: 7.5pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 7.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">具有一定的入侵性</span><span lang="EN-US" style="FONT-SIZE: 7.5pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 7.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">依赖于</span><span lang="EN-US" style="FONT-SIZE: 7.5pt"><font face="Times New Roman">Spring</font></span><span style="FONT-SIZE: 7.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span><span lang="EN-US" style="FONT-SIZE: 7.5pt"><font face="Times New Roman">API.<o:p></o:p></font></span></font></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US" style="FONT-SIZE: 9pt"><o:p><font size="2" face="Times New Roman">&nbsp;</font></o:p></span></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><font size="2"><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们传统编码</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不仅要管理数据库连接</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还要在</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">try/catch</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中控制数据库事务</span><span style="FONT-SIZE: 9pt"><font face="Times New Roman"> <span lang="EN-US">,</span></font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Times New Roman">Spring</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">给我们提供的</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">JdbcTemplate</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">将事务完全封装</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">我们完全不需要去关心</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">如果出现异常</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">就会自动回滚</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">.<o:p></o:p></font></span></font></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><font size="2"><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">关于怎么操作数据库</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">这里就不多说了</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">我们关心的是数据库的事务机制</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">在执行一组</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">SQL</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">的时候</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">如果出现错误</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">怎么让数据保持一致性</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">?<o:p></o:p></font></span></font></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><font size="2"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">Spring</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">提供两种数据库事务管理机制</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">:</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">第一</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">是我们比较熟悉的编码方式</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">;</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">通过手工编码控制事务提交或者回滚</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">;</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">第二</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">是声明配置方式</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">通过配置事务管理</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">控制事务</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">,</font></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">我比较推荐使用这种办法</span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">.</font></span></font></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><font size="2"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><font face="Times New Roman">本人才开始学习Spring, 很多地方可能描述的不够准确或者错误,希望能得到大家的纠正.</font></span></font></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><font size="2"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"></span></font></p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0">
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="2"><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt"></span><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; mso-font-kerning: 0pt"><o:p></o:p></span></font></p>
<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; mso-font-kerning: 0pt"><o:p><font face="Times New Roman">&nbsp;</font></o:p></span></p>
          <br/>
          <span style="color:red;">
            <a href="http://qianlei007.javaeye.com/blog/77245#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 06 May 2007 00:49:56 +0800</pubDate>
        <link>http://qianlei007.javaeye.com/blog/77245</link>
        <guid>http://qianlei007.javaeye.com/blog/77245</guid>
      </item>
  </channel>
</rss>