接笔记1
Hibernate中配置
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 数据库连接设置,由proxool连接池提供连接 -->
<property name="proxool.pool_alias">DBPool</property>
<property name="proxool.xml">proxool.xml</property>
<property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property> <!-- Hibernate的连接加载类 -->
<!-- 数据库方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property> <!-- show_sql 为true表示将Hibernate发送给数据库的sql显示出来 -->
<property name="format_sql">true</property> <!-- 输出格式化后的sql,更方便查看 -->
<property name="current_session_context_class">thread</property><!-- 通过getCurrentSession创建的session会绑定到当前线程 -->
<!--hibernate.hbm2ddl.auto可以实现正向工程,java代码生成数据库脚本,进而生成具体的表结构.
update根据model类生成表,自动修改,如果表结构与实体类不一致,那么就修改表使它们一致,数据会保留,
create : 会根据model类来生成表,但是每次运行都会删除上一次的表,重新生成表,即覆盖原来的表
validate : 只会和数据库中的表进行比较,不会创建新表,但是会插入新值
create-drop : 根据model类生成表,但是sessionFactory一关闭,表就自动删除
-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 对象与数据库表格映像文件-->
<mapping class="model.User"/>
</session-factory>
</hibernate-configuration>
model.User中
@Entity //
@Table(name="user")//<span style="font-family: 宋体; font-size: 13px; line-height: 19px; ">持久层将对象映射到数据库,生成一个表
</span>
public class User implements Serializable{
private static final long serialVersionUID = -7141419035239709511L;
private int id;
private String username;
private String password;
@Id//主键
@GeneratedValue //自增长
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}