hibernate——批量增加,利用DML更新、删除
package com.xueyoucto.xueyou;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import com.xueyoucto.util.HibernateUtil;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
//批量增加
/*for(int i=0;i<10000;i++){
User u = new User();
u.setName("xx" + i);
u.setAge(i);
u.setEmail("44@qq.com");
session.save(u);
if(i%20 == 0){
session.flush();
session.clear();
}
}*/
//批量修改
/*String hqlUpdate = "update User u set name = :newName";
int updateEntities = session.createQuery(hqlUpdate)
.setString("newName","hjljw")
.executeUpdate();
System.out.println(updateEntities);*/
//批量删除
/*String hqlDelete = "delete User";
int deleteEntities = session.createQuery(hqlDelete)
.executeUpdate();
System.out.println(deleteEntities);*/
tx.commit();
session.close();
sf.close();
}
}
package com.xueyoucto.xueyou;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "h4_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private Integer age;
private String email;
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 Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
运行后,数据库中的内容如下: