当前位置: 编程技术>综合
本页文章导读:
▪【hibernate实例】赵雅智_双向多对一客户与订单增加查找修改 新建持久化类
Order.java
package www.hbsi.net.one2manyboth;
public class Order {
private int id;
private String no;
private Customer customer;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String.........
▪eclipse编译hadoop源码 eclipse编译hadoop源码
由于开发mapreduce的时候,有时需要看源码,再次down下来,编译了下,仅作为学习记录
首先需要安装ant,svn(我用的是eclipse的插件);
svn地址:http://svn.apache.org/repos/asf/hado.........
▪github学习使用(三) 之前的都是在看书的基础上面,小大小闹,今儿咱就直接进行实际操作来搞定学习使用这个git工具。
1.就是在github上面建立一个文件夹,这里我建的文件夹叫practise。
这里github会给我生成一个.........
[1]【hibernate实例】赵雅智_双向多对一客户与订单增加查找修改
来源: 互联网 发布时间: 2013-11-07
新建持久化类
新建持久化类配置文件
增加:
Order.java
package www.hbsi.net.one2manyboth; public class Order { private int id; private String no; private Customer customer; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNo() { return no; } public void setNo(String no) { this.no = no; } public Customer getCustomer() { return customer; } public void setCustomer(Customer customer) { this.customer = customer; } }
Customer.java
package www.hbsi.net.one2manyboth; import java.util.Set; public class Customer { private int id; private String name; private Set<Order> orders; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Set<Order> getOrders() { return orders; } public void setOrders(Set<Order> orders) { this.orders = orders; } }
Order.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="www.hbsi.net.one2manyboth"> <class name="Order" table="orders"> <id name="id" column="id"> <generator class="native"/> </id> <property name="no" column="no" type="string"/> <many-to-one name="customer" column="customer_id" cascade="save-update"/> </class> </hibernate-mapping>
Customer.hbm.xml
更改hibernate配置文件
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="www.hbsi.net.one2manyboth"> <class name="Customer" table="customer"> <id name="id" column="id"> <generator class="native"/> </id> <property name="name" column="name" type="string"/> <set name="orders" inverse="true" cascade="save-update"> <key column="customer_id"/> <one-to-many class="Order"/> </set> </class> </hibernate-mapping>
hibernate.cfg.xml
创建测试类App.java
package www.hbsi.net.one2manyboth; import java.util.Set; import org.hibernate.Session; import org.junit.Test; import www.hbsi.net.util.HibernateSessionFactory; public class App { @Test public void add(){ Session session = HibernateSessionFactory.getSession(); session.beginTransaction(); Customer customer = new Customer(); customer.setName("客户2"); Order order = new Order(); order.setNo("1234"); order.setCustomer(customer); Order order1 = new Order(); order1.setNo("213"); order1.setCustomer(customer); //order维护保存order session.save(order); session.save(order1); session.getTransaction().commit(); HibernateSessionFactory.closeSession(); } //查询1号客户的所有订单 @Test public void find(){ Session session = HibernateSessionFactory.getSession(); session.beginTransaction(); Customer cust = (Customer) session.get(Customer.class,1); Set<Order> orders = cust.getOrders(); for(Order o:orders){ System.out.println(o.getNo()); } session.getTransaction().commit(); HibernateSessionFactory.closeSession(); } //改变订单的所有者 將4号订单给1号客户 @Test public void change(){ Session session = HibernateSessionFactory.getSession(); session.beginTransaction(); //查找4号订单 Order o4 = (Order) session.get(Order.class,4); //查找1号客户 Customer c1 = (Customer) session.get(Customer.class,1); //建立关联关系 o4.setCustomer(c1); c1.getOrders().add(o4); session.getTransaction().commit(); HibernateSessionFactory.closeSession(); } }
增加:
查找:
修改:
作者:zhaoyazhi2129 发表于2013-1-5 18:14:45 原文链接
阅读:0 评论:0 查看评论
[2]eclipse编译hadoop源码
来源: 互联网 发布时间: 2013-11-07
eclipse编译hadoop源码
由于开发mapreduce的时候,有时需要看源码,再次down下来,编译了下,仅作为学习记录
首先需要安装ant,svn(我用的是eclipse的插件);
svn地址:http://svn.apache.org/repos/asf/hadoop/common/tags/release-0.20.2/
check后,直接ant编译就ok了,
另外也有说可以单独编译hadoop的三个项目,单独编译可一参考
http://blog.csdn.net/basicthinker/article/details/6174442#reply
配置 eclipse 编译、开发 Hadoop(MapReduce)源代码
最后再来张图吧,感觉很爽啊,
作者:luyee2010 发表于2013-1-5 18:05:30 原文链接
阅读:40 评论:0 查看评论
[3]github学习使用(三)
来源: 互联网 发布时间: 2013-11-07
之前的都是在看书的基础上面,小大小闹,今儿咱就直接进行实际操作来搞定学习使用这个git工具。
1.就是在github上面建立一个文件夹,这里我建的文件夹叫practise。
这里github会给我生成一个ssh的url:git@github.com:chenbinghuilove/practise.git
这里需要我们通过clone将这个git文件给克隆到我们本地,
root@zhou:~/.ssh# ls chentest demo helloword id_rsa id_rsa.pub known_hosts mytest root@zhou:~/.ssh# git clone git@github.com:chenbinghuilove/practise.git Cloning into 'practise'... Enter passphrase for key '/root/.ssh/id_rsa': warning: You appear to have cloned an empty repository. root@zhou:~/.ssh# ls chentest demo helloword id_rsa id_rsa.pub known_hosts mytest practise这里直接就可以进入这个practise文件进行我们的操作了。这里我新建了一个test.sh的sh文件,里面的内容是
this is a test file wo want to study this file go on然后,通过一下的操作,这里也是基本的规范的操作,随时关注我们的项目代码的状态。
root@zhou:~/.ssh# cd practise/ root@zhou:~/.ssh/practise# ls root@zhou:~/.ssh/practise# vim test.sh root@zhou:~/.ssh/practise# git status -s ?? test.sh root@zhou:~/.ssh/practise# git add test.sh root@zhou:~/.ssh/practise# git status -s A test.sh这里我们可以看到有个
?? test.sh 这里的意思git不知道你的代码是否需要跟踪是个untracked状态,
A test.sh 这里我们add操作后,就可以看到已经是在索引区(暂存区)中是一个add(添加状态)。接着继续看
root@zhou:~/.ssh/practise# git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: test.sh #所有这里我们应该知道了,这时的test文件已经在暂存区内部了。
这里我们以选择修改和提交到版本库当中。这里是我测试的直接提交到github上面去了,这时就可以去github上面查看下是否存在。
root@zhou:~/.ssh/practise# git push origin master Enter passphrase for key '/root/.ssh/id_rsa': Counting objects: 3, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 252 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To git@github.com:chenbinghuilove/practise.git * [new branch] master -> master2.这里说明一点,当我们对本地文件进行修改了以后,我们必须重复以前的操作,也就是还要有提交add操作和commit操作
这里我又重新修改了这里的test的文件加入test again的文字信息
root@zhou:~/.ssh/practise# vim test.sh root@zhou:~/.ssh/practise# git status -s A name.sh M test.sh看到的状态就是上面的,说明当地工作区的test文件是被修改状态了。我们所要做的就是重复之前的所有操作并且成功加入到github服务器中。
root@zhou:~/.ssh/practise# git add test.sh root@zhou:~/.ssh/practise# git status -s A name.sh M test.sh root@zhou:~/.ssh/practise# git commit -m "test again" [master 5e6980c] test again 2 files changed, 8 insertions(+) create mode 100644 name.sh root@zhou:~/.ssh/practise# git status -s root@zhou:~/.ssh/practise#这里可以看到了,我们的github服务器中也存在了我们的修改信息,这里有个问题可以看到了,我在commit的时候没有指定那个文件,那么所有文件就都被提交了,则可是非常危险了的。
3.删除文件一些操作说明
这里的做法就是首先删除当地工作区的文件,然后在删除暂存区的文件,最后再提交这个暂存区,并push的github上面去,这里要注意到status的各种状态。
root@zhou:~/.ssh/practise# rm name.sh root@zhou:~/.ssh/practise# git status # On branch master # Changes not staged for commit: # (use "git add/rm <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # deleted: name.sh # no changes added to commit (use "git add" and/or "git commit -a") root@zhou:~/.ssh/practise# git status -s D name.sh root@zhou:~/.ssh/practise# git rm name.sh rm 'name.sh' root@zhou:~/.ssh/practise# git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # deleted: name.sh # root@zhou:~/.ssh/practise# git status -s D name.sh4.如果需要回滚到我以前的某个文件(可能修改了,可能删除了)
这里有点儿复杂,待我搞清楚了以后在来写吧
作者:chen861201 发表于2013-1-5 18:04:21 原文链接
阅读:27 评论:0 查看评论
最新技术文章: