当前位置: 编程技术>综合
本页文章导读:
▪【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 查看评论
最新技术文章: