java web开发入门三(Hibernate)基于intellig idea 2019-11-23 11:26
Hibernate
1.开发流程
项目配置好后的结构:
1.下载源码: 版本:hibernate-distribution-3.6.0.Final
2.引入hibernate需要的开发包(3.6版本),如果没有引用成功,在jar包上右键执行:add as library
3.编写实体对象及对象的映射xml文件
实体类:
package com.eggtwo.test; import java.util.Date; public class Student { private int id; private String name; private int age; private Date birthday; 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 int getAge() { return age; } public void setAge(int age) { this.age = age; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
数据库表结构:
映射xml文件:(放在包下面)
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.eggtwo.test"> <class name="Student" table="student"> <!-- 主键 ,映射--> <id name="id" column="id"> <generator class="native"/> </id> <!-- 非主键,映射 --> <property name="name" column="name"></property> <property name="age" column="age"></property> <property name="birthday" column="birthday"></property> </class> </hibernate-mapping>
4.配置主配置文件:src/hibernate.cfg.xml
<!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> <!-- 数据库连接配置 --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///test</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">123456</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> <property name="hibernate.show_sql">true</property> <!-- 加载所有映射 --> <mapping resource="com/eggtwo/test/Student.hbm.xml"/> </session-factory> </hibernate-configuration>
5.测试添加一条数据:
package com.eggtwo.test; import java.util.Date; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Test; public class TestApp { @Test public void testHello() throws Exception { // 创建对象:主键自增长 Student s = new Student(); s.setAge(12); s.setName("班长"); s.setBirthday(new Date()); // 获取加载配置文件的管理类对象 Configuration config = new Configuration(); config.configure(); // 默认加载src/hibenrate.cfg.xml文件 // 创建session的工厂对象 SessionFactory sf = config.buildSessionFactory(); // 创建session (代表一个会话,与数据库连接的会话) Session session = sf.openSession(); // 开启事务 Transaction tx = session.beginTransaction(); //保存-数据库 session.save(s); // 提交事务 tx.commit(); System.out.println("save success"); // 关闭 session.close(); sf.close(); } }
2.映射详解
作者:梦亦晓,转载请注明出处
如果此文能给您提供帮助,请点击右下角的【推荐】
如果您对此文有不同的见解或者意见,欢迎留言讨论
分类:
java web
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
2016-11-23 使用ANTS Performance Profiler&ANTS Memory Profiler工具分析IIS进程内存和CPU占用过高问题