第一步~导入jar包
这一步不用在进行详细描述了,包的话百度一下全都出来了,我用的是myecilpes所以各位兄弟们不好意思了,只能自己去百度下载了。
同时引入junit的jar包
第二步~搭建hibrnate的环境
2.1在根目录下创建一个hibernate.cfg.xml
2.2编写配置文件中的配置属性,属性已经给了注解了
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory name="foo"> <!-- 配置数据库信息 --> <!-- 数据库的方言版本 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 数据库的连接路径 --> <property name="connection.url">jdbc:mysql://localhost:3306/hrbinate?characterEncoding=utf-8</property> <!-- 数据库的驱动 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 配置数据库的用户名 --> <property name="connection.username">root</property> <!-- 配置数据库的密码 --> <property name="hibernate.connection.password">password</property> <!-- 其他配置 --> <!-- 操作数据库的时候是否在控制台中显示 --> <property name="hibernate.show_sql">true</property> <!-- 在控制台中显示的sql语句是否是规范的 --> <property name="hibernate.format_sql">true</property> <!-- create:先删除,再创建 update:如果表不存在就创建,不一样就更新,一样就什么都不做。 create-drop:初始化时创建表,SessionFactory执行close()时删除表。 validate:验证表结构是否一致,如果不一致,就抛异常。 --> <property name="hbm2ddl.auto">update</property> <!-- 导入的映射文件 --> <mapping resource="cn/itcast/a_helloworld/User.hbm.xml"/> </session-factory> </hibernate-configuration>
2.3编写实体类
public class User { private int id; private String name; 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; } @Override public String toString() { return "[User: id=" + id + ", name=" + name + "]"; } }
2.4编写实体类的hibrnate配置文件
<?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="cn.itcast.a_helloworld"> <class name="User" table="t_user"> <id name="id" type="int" column="id"> <generator class="native"/> </id> <property name="name" type="string" column="name" length="20"/> </class> </hibernate-mapping>
3.开始针对User表进行简单的增删改查(CRUD)
第一步读取指定的主配置文件(hibernate.cfg.xml)
第二步创建hibrnate的session工厂(用来创建session)
第三步创建session(session的作用十分强大,包括一二级缓存以及对数据库的持久化),开启事务
第四步使用session进行数据库的操作
第五步提交事务,关闭session
public class App { private static SessionFactory sessionFactory; static { Configuration cfg = new Configuration(); cfg.configure("hibernate.cfg.xml"); // 读取指定的主配置文件 sessionFactory = cfg.buildSessionFactory(); // 根据生成Session工厂 } @Test public void testSave() throws Exception { User user = new User(); user.setName("张三"); // 保存 Session session = sessionFactory.openSession(); // 打开一个新的Session Transaction tx = session.beginTransaction(); // 开始事务 session.save(user); tx.commit(); // 提交事务 session.close(); // 关闭Session,释放资源 } @Test public void testGet() throws Exception { Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); User user = (User) session.get(User.class, 1); // 获取 System.out.println(user); tx.commit(); session.close(); } }