posts - 165, comments - 198, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

     摘要: 本文提供:1.企业分类数据2.此类用于吧文本 数据变成 sql 并插入数据库 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> import  java.io.BufferedReader; im...  阅读全文

posted @ 2008-07-15 16:18 G_G 阅读(1649) | 评论 (0)编辑 收藏

     摘要: 直接运行demo http://www.blogjava.net/Files/Good-Game/iba2.rar 数据说明: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> /*  ibatis ...  阅读全文

posted @ 2008-07-15 15:37 G_G 阅读(2000) | 评论 (0)编辑 收藏

dome
使用hsql 数据库;
一对多,多对一;


可以直接运行的 dome:http://www.blogjava.net/Files/Good-Game/iba.rar
本例指涉及到查询,为了简单没有事务,和service层

先看测试运行:
    @Test
    
public void testLevel() {

        
try {

            Level level 
= (Level)DaoConfig.getSqlMap().queryForObject("level.getLevelId"new Integer(2) );
            System.out.println(
"f_level="+level.getFlevel().getName());

           
System.out.println("->level="+level.getName());
            for(Level ltmp : level.getClevel()){
                System.out.println(
"c_root="+ltmp.getName());
            }
        } 
catch (SQLException e) {
            e.printStackTrace();
        }
    }


运行结果:
hsql 数据库 初始化
create
 table level  (     id int not null,     name varchar(80null,     fid int ,     constraint pk_supplier primary key (id),     constraint fk_item_1 foreign key (fid)         references level (id) ) 
create index levelName on level (name) 
insert into level (id,name,fid) values(1,'root',null
insert into level (id,name,fid) values(2,'level_1',1
insert into level (id,name,fid) values(3,'root_2',1
insert into level (id,name,fid) values(4,'root_1_1',2
insert into level (id,name,fid) values(5,'root_1_2',2
insert into level (id,name,fid) values(6,'root_1_1_1',4)

运行结果
f_level
=root
->level=level_1
    c_level
=root_1_1
    c_level
=root_1_2


DaoConfig工具类:
package test.persistence;

import com.ibatis.common.jdbc.ScriptRunner;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
/**
 * damo api
 * 
http://portals.apache.org/bridges/multiproject/jpetstore/apidocs/overview-summary.html
 * 
@author Administrator
 *
 
*/
public class DaoConfig {

  
private static SqlMapClient sqlMap = null ;
  
static {
    
try {
      Properties props 
= Resources.getResourceAsProperties("properties/database.properties");
      String url 
= props.getProperty("url");
      String driver 
= props.getProperty("driver");
      String username 
= props.getProperty("username");
      String password 
= props.getProperty("password");
      
if (url.equals("jdbc:hsqldb:mem:jpetstore")) {
        Class.forName(driver).newInstance();
        Connection conn 
= DriverManager.getConnection(url, username, password);
        
try {
          ScriptRunner runner 
= new ScriptRunner(conn, falsefalse);
          runner.setErrorLogWriter( 
new PrintWriter(  System.out ) );
          runner.setLogWriter(
new PrintWriter(  System.out ));
          runner.runScript(Resources.getResourceAsReader(
"hsql/test.sql"));
        }
catch (Exception e) {
            e.printStackTrace();
        } 
finally {
          conn.close();
        }
      }
      
      
      String resource 
= "test/persistence/sql-map-config.xml";
      Reader reader 
= Resources.getResourceAsReader (resource);
      sqlMap 
= SqlMapClientBuilder.buildSqlMapClient(reader);
    } 
catch (Exception e) {
      
throw new RuntimeException("Description.  Cause: " + e, e);
    }
  }

  
public static SqlMapClient getSqlMap(){
      
return sqlMap ;
  }

}


dao:

public class LevelDao {
     
public static List<Level>  getAll(){
        
try {
            
return DaoConfig.getSqlMap().queryForList("getAllLevel");
        } 
catch (Exception e) {
            e.printStackTrace();
        }
        
return null ;
    }
}





持久类说明
package test.domain;

import java.util.List;

public class Level {
    
private Integer id ;
    
private String name ;
   
    //得到此对象父节点 (多对一)
    
private Level flevel ;
    //得到此对象孩子节点 (一对多)
    private List<Level> clevel;


    
public Integer getId() {
        
return id;
    }

    
public void setId(Integer id) {
        
this.id = id;
    }

    
public String getName() {
        
return name;
    }

    
public void setName(String name) {
        
this.name = name;
    }



    
public Level getFlevel() {
        
return flevel;
    }

    
public void setFlevel(Level flevel) {
        
this.flevel = flevel;
    }

    
public List<Level> getClevel() {
        
return clevel;
    }

    
public void setClevel(List<Level> clevel) {
        
this.clevel = clevel;
    }

}


level.xml
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
    "http://ibatis.apache.org/dtd/sql-map-2.dtd"
>

<sqlMap namespace="level">

    
<typeAlias alias="level" type="test.domain.Level" />
    
    
<resultMap class="level" id="getLevelByFa">
        
<result property="id" column="id" />  
        
<result property="name" column="name" />
        
<result property="flevel" column="fid" select="level.getLevelId"/>
        
<result property="clevel" column="id" select="level.getLevelByfId"/>
    
</resultMap>


     
<select id="getLevelId" resultClass="level" parameterClass="int" resultMap="getLevelByFa"  >  
         select 
         id ,
         name ,
         fid 
         from level   
         WHERE id =#id#  
     
</select>
    
    
     
<select id="getLevelByfId" resultClass="level" parameterClass="int" resultMap="getLevelByFa"  >  
         select 
         id ,
         name ,
         fid 
         from level   
         WHERE fid =#id#  
     
</select>
</sqlMap>



map confg
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"
>

<sqlMapConfig > 
    
<properties resource="properties/database.properties"/>
    
<settings 
        
useStatementNamespaces="true"
    
/>      
 
 
  
<transactionManager type="JDBC">
    
<dataSource type="SIMPLE">
      
<property value="${driver}" name="JDBC.Driver"/>
      
<property value="${url}" name="JDBC.ConnectionURL"/>
      
<property value="${username}" name="JDBC.Username"/>
      
<property value="${password}" name="JDBC.Password"/>
    
</dataSource>
  
</transactionManager>

  
<sqlMap resource="test/persistence/level.xml"/>


</sqlMapConfig>







posted @ 2008-07-14 14:45 G_G 阅读(4447) | 评论 (2)编辑 收藏





html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="">
    
<table>
        
<tr>
            
<td>
                
<select id="s1" size="5">
                    
<option>-1-</option>
                    
<option>-2-</option>
                    
<option>-3-</option>
                
</select>
            
</td>
            
<td>
                
<input type="button" value="&gt;&gt;" onclick="optionRemove('s1','s2');"/>
                
<input type="button" value="&lt;&lt;" onclick="optionRemove('s2','s1');"/>
            
</td>
            
<td>
                
<select id="s2" size="5">
                
</select>
            
</td>        
        
</tr>
    
</table>
</form>

</body>
<script type="text/javascript">
    
function optionRemove(selFromById,selToById){
        
var sf = document.getElementById(selFromById);
        
var st = document.getElementById(selToById);
        
        
var mo =  sf.options[sf.selectedIndex];
        
var moTest =  mo.text ;
        
var moValue = mo.value ;
        
        sf.remove(sf.selectedIndex); 
        st.options.add(
new Option(moTest,moValue ),0)

    }
</script>
</html>


posted @ 2008-07-12 17:38 G_G 阅读(206) | 评论 (0)编辑 收藏

           < input  type ="hidden"  name ="SMSServices"  value ="" />
          
< td >
              
< select  size ="5"   name ="from_SMSServices" >
                  
<% for  (SMSService stmp : SMSServiceUtils.getAllSMSService()) {  %>
                    
< option  value ="<%=stmp.getId()%>" > <% = stmp.getName() %> </ option >
                
<% } %>
              
</ select >
          
</ td >
          
< td >
              
< input  type ="button"   value ='&#62;&#62;'  onclick ="optionSelectedMove(this.form,'from_SMSServices','to_SMSServices');" />< br />
              
< input  type ="button"   value ='&#60;&#60;'  onclick ="optionSelectedMove(this.form,'to_SMSServices','from_SMSServices');" />
          
</ td >
          
< td >
              
< select  size ="5"  name ="to_SMSServices" >
              
</ select >
          
</ td >
      
</ tr >
      
      
< tr >< input  type ="button"  value ="提交"  onClick ="addSMSServicesValues('SMSServices','to_SMSServices');this.form.submit();" /></ tr >



javascript 方法
    function addSMSServicesValues(smsName,selectName){
        
var obj = document.getElementsByName(smsName)[0];
        
var selObj = document.getElementsByName(selectName)[0];
        obj.value 
= '';
        
        
        
for(var i=0;i<selObj.options.length;i++)  {  
              obj.value 
+= selObj.options[i].value+';';
          }
    }
    
function optionSelectedMove(tform,selfromName,seltoName){

        
var selfromObj = document.getElementsByName(selfromName)[0];
        
var seltoObj = document.getElementsByName(seltoName)[0];
        


        
var optmp = null ;
        
for(var i=0;i<selfromObj.options.length;i++)  {  
              
if(selfromObj.options[i].selected==true)  {  
                  optmp 
= selfromObj.options[i];
                  selfromObj.remove(i);
                  
break;
              }  
          }

          
          
//var varItem = new Option(objItemText, objItemValue);     
        seltoObj.options.add(optmp);

    }

posted @ 2008-07-04 11:03 G_G 阅读(623) | 评论 (0)编辑 收藏

此文随时更新

项目svn http://mycompetence.googlecode.com/svn/trunk/mycompetence/
如在浏览器中查看有乱码问题。
请把浏览器编码改成 utf-8 或 gb2312 查看试试;


数据表结构create.sql(未完)
项目说明 项目说明.txt(未完)


在一片声讨中,项目以蜗牛的速度慢慢开始了。
2008-6-25 尝试持久层建模; create.sql

2008-6-30 16:46 添加配置工具类,并确立简单的配置插件使用
                     (参考:dataSource.DataSourceUtil)



posted @ 2008-06-26 12:03 G_G 阅读(1391) | 评论 (0)编辑 收藏

项目下载地址
http://www.blogjava.net/Files/Good-Game/TurtleSwims2.rar

此系统为 ssh 框架

svn :
cd E:\svnProject
e:
start svnserve 
--r . 

1.spring 管理hibernate事务

2.spring 管理struts2注入

3.ant demo 中hibernate对类文件下的使用
    可在ant 中找到 
<!-- hibernate 需要维护的 fileset -->
    
<fileset dir="demo">
        
<include name="**/*Bean.java" />
    
</fileset>
    生成映射
    
4.ant hbm2ddl  
    
0.建立此动作文件                                                    
    
1.备份数据库,并重建数据库     
    
2.建立hbm2ddl标签并建create table sql 文件
    
3.执行sql文件        

5.ant test 
    可在ant 中找到
<!-- junit 需要维护的 fileset -->
     对类文件为 Test
*.class
     .
/conf/htmlreport/junit-noframes.html        


6.web table 展现 可以使用 eXtremeComponents
    http:
//127.0.0.1:8080/TurtleSwims/demo/extremecomponents.jsp

7.在线文本编辑器
    
/TurtleSwims/demo/fckeditor.jsp
    commons
-fileupload.jar
    FCKeditor
-2.3-modify.jar

8.文件上传
    fileUploadDemo.action
    
/demo/strtus2/fileUploadDemo.jsp

9.图片生成
    
/demo/pictureYield.action
    

posted @ 2008-06-23 17:06 G_G 阅读(2265) | 评论 (3)编辑 收藏

     摘要: 功能描述: 1.ant hibernate:由class xdoclet 得到映射.2.hbm2ddl  action   2.0.建立此动作文件                                                       2.1.备份数据库,并重建数据库        2.2.建立hbm2ddl标签并建create table sql 文件   ...  阅读全文

posted @ 2008-06-23 16:27 G_G 阅读(1720) | 评论 (0)编辑 收藏

大家有什么好意见尽量跟我说。我尽量把这编文章弄得更适应大家开发。方便大家使用
   此文时时更新

1.每张表除有关业务描述列外最好预留:
  •     IsShow(true/false) 一些关键数据删除采用隐藏.
  •     version(long|int) 乐观锁使用 hibernate 问题_3(锁
  •     预留扩展字段 (可以参考:google protobuf 等)
   


2.关联关系映射注意21. 示例:父子关系(Parent Child Relationships)
  •     添加级联孩子对象,会生成两条sql(INSERTc创建, UPDATEpc的连接p)。
                解决办法:<set name="children" inverse="true">
                参考:21.2. 双向的一对多关系(Bidirectional one-to-many)
  •     删除级联孩子对象,级联删除.
                解决办法1:<set name="children" inverse="true" cascade="all-delete-orphan">
                参考:21.3. 级联生命周期(Cascading lifecycle)
                解决办法2:删除隐藏策略
             
<set name="children" inverse="true" where=" IsShow=boolean|int " cascade="save-update">
               许多数据库没有boolean类型可以用 整型替代 数据建立默认0可见,不可见改为1.


3一般表设计

posted @ 2008-06-16 15:35 G_G 阅读(2855) | 评论 (1)编辑 收藏

google svn 服务器使用:
    1. http://code.google.com/ 用gmail登入。>后点击>Project Hosting
    2. 进入>> http://code.google.com/hosting/  >后点击>Create a new project
    3. 填入必要的项目名,描述等确定。就可以了
    4. 确定成功后 ->Source
    5. 到eclipse的打开新建一个project->team->share Project->svn
    6. 后面根据 google source 上的svn提示,这我就不多说了。一般的svn http url


 


posted @ 2008-06-10 15:18 G_G 阅读(14259) | 评论 (1)编辑 收藏

仅列出标题
共16页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last