CTB

 

2012年5月16日

一对一关系配置

<hibernate-mapping package="com.wepull.hibernate.pojo">
 <class name="Card" table="tbl_card">
  <id name="cardId" column="pk_card_id">
   <generator class="native"/>
  </id>
  
  <property name="cardNo" column="card_no"/>
  
  <!-- 需要维护关系的属性,就不是普通属性 -->
  <!-- Person和Card沟通的桥梁是外键fk_card_id -->
  <one-to-one name="person" property-ref="card"/>
  
  <!-- property-ref="card":通过Person的外键pk_card_id,可以得到pk_person_id -->
 </class>
</hibernate-mapping>



<hibernate-mapping package="com.wepull.hibernate.pojo">
 <class name="Person" table="tbl_person">
  <id name="personId" column="pk_person_id">
   <generator class="native"/>
  </id>
  
  <property name="personName" column="person_name"/>
  
  <!-- 唯一外键约束 -->
  <!-- 此一对一属于多对一的特例 -->
  <!-- 先假设多个人共用一张卡,再给fk_card_id添加唯一约束,就变成了一对一关系 -->
  <many-to-one name="card" column="fk_card_id" unique="true" cascade="all"/>
 </class>
</hibernate-mapping>

posted @ 2012-06-27 15:55 千面独行客 阅读(145) | 评论 (1)编辑 收藏

一对多关系配置

<hibernate-mapping package="com.wepull.hibernate.pojo">
 <class name="Clazz" table="tbl_class">
  <id name="classId" column="pk_class_id">
   <generator class="native"/>
  </id>
  
  <property name="className" column="class_name"/>
  
  <!-- inverse="false":不放弃维护关系的权利,由Clazz维护关系 -->
  <!-- inverse="true":放弃维护关系的权利,由Student维护关系 -->
  <set name="students" inverse="true" cascade="all">
   <!-- 一的一方为多的一方指定外键 -->
   <key column="fk_class_id"/>
   <!-- 让Clazz认识认识students是什么 -->
   <one-to-many class="Student"/>
  </set>
 </class>
</hibernate-mapping>



<hibernate-mapping package="com.wepull.hibernate.pojo">
 <class name="Student" table="tbl_student">
  <id name="studentId" column="pk_student_id">
   <generator class="native"/>
  </id>
  
  <property name="studentName" column="student_name"/>
  
  <many-to-one name="clazz" column="fk_class_id" cascade="all"/>
 </class>
</hibernate-mapping>

posted @ 2012-06-27 15:54 千面独行客 阅读(117) | 评论 (0)编辑 收藏

多对多关系配置

<hibernate-mapping package="com.wepull.hibernate.pojo">
 <class name="Role" table="tbl_role">
  <id name="roleId" column="pk_role_id">
   <generator class="native"/>
  </id>
  
  <property name="roleName" column="role_name"/>
  
  <!-- 对于多对多的关系,需要一张中间表 -->
  <set name="users" table="tbl_user_role">
   <!-- 中间表,通过什么字段,跟Role表产生关系 -->
   <key column="fk_role_id"/>
   <!-- 让Role认识User --><!-- 中间表,通过什么字段,跟User表产生关系 -->
   <many-to-many class="User" column="fk_user_id"/>
  </set>
 </class>
</hibernate-mapping>



<hibernate-mapping package="com.wepull.hibernate.pojo">
 <class name="User" table="tbl_user">
  <id name="userId" column="pk_user_id">
   <generator class="native"/>
  </id>
  
  <property name="userName" column="uesr_name"/>
  
  <set name="roles" table="tbl_user_role">
   <key column="fk_user_id"/>
   <many-to-many class="Role" column="fk_role_id"/>
  </set>
 </class>
</hibernate-mapping>

posted @ 2012-06-27 15:53 千面独行客 阅读(119) | 评论 (0)编辑 收藏

SSH项目 利用项目中的pojo类和配置文件反转生成数据库

public class Export{
 
 private void mian(String[] args) {

  Configuration cfg = new Configuration().configure();
  
  SchemaExport export = new SchemaExport(cfg);
  
  export.create(true, true);
  
 }

}

posted @ 2012-06-27 15:49 千面独行客 阅读(319) | 评论 (0)编辑 收藏

贪吃蛇

package com.wepull.test;


 
 import java.awt.Color;
 import java.awt.Graphics;
 import java.awt.Toolkit;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.InputEvent;
 import java.awt.event.KeyEvent;
 import java.awt.event.KeyListener;

 import javax.swing.JCheckBoxMenuItem;
 import javax.swing.JFrame;
 import javax.swing.JMenu;
 import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
 import javax.swing.KeyStroke;

 

 


 public class 贪吃蛇 extends JFrame implements ActionListener, KeyListener,Runnable {
 /**
   *
   */
 private static final long serialVersionUID = 1L;
 private JMenuBar menuBar;
 private JMenu youXiMenu,nanDuMenu,fenShuMenu,guanYuMenu;
 private JMenuItem kaiShiYouXi,exitItem,zuoZheItem,fenShuItem;
 private JCheckBoxMenuItem cJianDan,cPuTong,cKunNan;
 private int length = 6;
 private Toolkit toolkit;
 private int i,x,y,z,objectX,objectY,object=0,growth=0,time;//bojectX,Y

 private int m[]=new int[50];
 private int n[]=new int[50];
 private Thread she = null;
 private int life=0;
 private int foods = 0;
 private int fenshu=0;
 


 public void run(){ 
   time=500;
   for(i=0;i<=length-1;i++)
   {
    m[i]=90-i*10;n[i]=60;
   }
  
   x=m[0];
   y=n[0];
   z=4;
  
  
   while(she!=null)
   {
   
    check();
    try
    {
     Thread.sleep(time);
    }
    catch(Exception ee)
    {
     System.out.println(z+"");
    }
   }
 }

 public 贪吃蛇() {
 
   setVisible(true);
   menuBar = new JMenuBar();
   toolkit=getToolkit();
 
   youXiMenu = new JMenu("游戏");
   kaiShiYouXi = new JMenuItem("开始游戏");
   exitItem = new JMenuItem("退出游戏");
 
   nanDuMenu = new JMenu("困难程度");
   cJianDan = new JCheckBoxMenuItem("简单");
   cPuTong = new JCheckBoxMenuItem("普通");
   cKunNan = new JCheckBoxMenuItem("困难");
 
   fenShuMenu = new JMenu("积分排行");
   fenShuItem = new JMenuItem("最高记录");

   guanYuMenu = new JMenu("关于");
   zuoZheItem = new JMenuItem("关于作者");
 
   guanYuMenu.add(zuoZheItem);

   nanDuMenu.add(cJianDan);
   nanDuMenu.add(cPuTong);
   nanDuMenu.add(cKunNan);

  fenShuMenu.add(fenShuItem);
  youXiMenu.add(kaiShiYouXi);
   youXiMenu.add(exitItem);
  menuBar.add(youXiMenu);
   menuBar.add(nanDuMenu);
   menuBar.add(fenShuMenu);
   menuBar.add(guanYuMenu);
 zuoZheItem.addActionListener(this);
   kaiShiYouXi.addActionListener(this);
   exitItem.addActionListener(this);
   addKeyListener(this);
   fenShuItem.addActionListener(this);
   KeyStroke keyOpen = KeyStroke.getKeyStroke('O',InputEvent.CTRL_DOWN_MASK);
   kaiShiYouXi.setAccelerator(keyOpen);
   KeyStroke keyExit = KeyStroke.getKeyStroke('X',InputEvent.CTRL_DOWN_MASK);
   exitItem.setAccelerator(keyExit);
   setJMenuBar(menuBar);
   setTitle("贪吃蛇");
   setResizable(false);
   setBounds(300,200,400,400);
   validate();
   setDefaultCloseOperation(EXIT_ON_CLOSE);  
 }
 


 public static void main(String args[]) {
    new 贪吃蛇();
 }

 public void actionPerformed(ActionEvent e){
   if(e.getSource()==kaiShiYouXi)
   {
    length = 6;
    life = 0;
    foods = 0;
    if(she==null)
    {
     she=new Thread(this);
     she.start();
    }
    else if(she!=null)
    {
     she=null;
     she= new Thread(this);
     she.start();
    }
   }
   if(e.getSource()==exitItem)
   {
    System.exit(0);
   }
   if(e.getSource()==zuoZheItem)
   {
    JOptionPane.showMessageDialog(this, "千面独行客"+"\n\n"+"                  "+"QQ号:244897789"+"\n");
   }
   if(e.getSource()==fenShuItem)
   {
       JOptionPane.showMessageDialog(this,"最高记录为"+fenshu+""); 
   }
  
 }

 public void check(){
   isDead();
   if(she!=null)
   {
    if(growth==0)
    {
     reform(); //得到食物
    }
    else
    {
     upgrowth(); //生成食物
    }
    if(x==objectX&&y==objectY)
    {
     object=0;
     growth=1;
     toolkit.beep();
    }
    if(object==0)
    {
     object=1;
     objectX=(int)Math.floor(Math.random()*39)*10;
     objectY=(int)Math.floor(Math.random()*29)*10+50;
    }
    this.repaint(); //重绘
   }
 }
 void isDead()
 {
   //判断游戏是否结束的方法
   if(z==4)
   {
    x=x+10;
   }
   else if(z==3)
      {
         x=x-10;
      }
   else if(z==2)
      {
         y=y+10;
      }
   else if(z==1)
      {
         y=y-10;
      }
   if(x<0||x>390||y<50||y>390)
   {
    she=null;
   }
   for(i=1;i<length;i++)
   {
    if(m[i]==x&&n[i]==y)
    {
     she=null;
    }
   }
   
 }
 public void upgrowth()
 { 
   //当蛇吃到东西时的方法
   if(length<50)
   {
    length++;
   } 
   growth--;
   time=time-10;
   reform();
   life+=100;
   if(fenshu<life)
   {
    fenshu = life;
   }
   foods++;
 }
 public void reform()
 {
   for(i=length-1;i>0;i--)
   {
   
    m[i]=m[i-1];
    n[i]=n[i-1];
   }
   if(z==4)
   {
    m[0]=m[0]+10;
   }
   if(z==3)
   {
    m[0]=m[0]-10;
   }
   if(z==2)
   {
    n[0]=n[0]+10;
   }
   if(z==1)
   {
    n[0]=n[0]-10;
   }
 }

 public void keyPressed(KeyEvent e)
 {
   if(she!=null)
   {
    if(e.getKeyCode()==KeyEvent.VK_UP)
    {
     if(z!=2)
     {
      z=1;
      check();
     }
    }
    else if(e.getKeyCode()==KeyEvent.VK_DOWN)
    {
     if(z!=1)
     {
      z=2;
      check();
     }
    }
    else if(e.getKeyCode()==KeyEvent.VK_LEFT)
    {
     if(z!=4)
     {
      z=3;
      check();
     }
    }
    else if(e.getKeyCode()==KeyEvent.VK_RIGHT)
    {
     if(z!=3)
     {
      z=4;
      check();
     }
    }
  
   }
  
 }
 public void keyReleased(KeyEvent e)
 {
  
 }
 public void keyTyped(KeyEvent e)
 {
  
 }
 public void paint(Graphics g)  {
   g.setColor(Color.DARK_GRAY); //设置背景
   g.fillRect(0,50,400,400);
   g.setColor(Color.pink);
   for(i=0;i<=length-1;i++)
   {
    g.fillRect(m[i],n[i],10,10);
   }
   g.setColor(Color.green); //蛇的食物
   g.fillRect(objectX,objectY,10,10);
   g.setColor(Color.white);
   g.drawString("当前      分数"+this.life,6,60);
   g.drawString("当前已吃食物数"+this.foods,6,72);
 }
 }

 


 

posted @ 2012-05-16 11:01 千面独行客 阅读(187) | 评论 (0)编辑 收藏

导航

统计

常用链接

留言簿

随笔档案

文章档案

搜索

最新评论

  • 1. re: 我多想告诉你
  • 煽情……
  • -- _小丸子
  • 2. re: 我多想告诉你
  • 面对爱情的男人都是情圣,文笔自然也有所提高。小样,煽情了吧 /偷笑……
  • -- _小丸子
  • 3. re: 我多想告诉你
  • 到底是什么事儿触发了你如此之深的感受啊?前提是这是你写的,嘿嘿~
  • --巧克力
  • 4. re: 走过自己
  • 刚开始看,呵呵几个错别字,看了之后有点儿小沉重,才发现大姐原是个心思很细腻的男生,文笔还可以哟,嘿嘿~
  • --巧克力
  • 5. re: 无题
  • 我觉得自恃清高没啥不好的,呵呵~
  • --巧克力

阅读排行榜

评论排行榜