java系统找不到指定文件怎么解决
257
2022-09-17
使用myeclipse编写Hibernate小栗子
Hibernate是java领域的一款开源的ORM框架技术
Hibernate对JDBC进行了非常轻量级的对象封装
准备前的工作
导入Hibernate必须的jar包 hibernate-core.zip
导入MySQL的JDBC驱动 mysql-connector-java-5.1.7-bin.jar
导入Junit4的jar包 Junit-4.10.jar
我们可以把上面的jar包 添加自定义用户类库,方便每次导入jar包。添加后最好就不要移动这些jar包的位置了哦 不然你就要重新修改用户类库了
基本步骤
在MyEclipse Datebase Explorer 创建数据库连接创建hibernate的配置文件根据数据库表自动生成持久化类和对象关系映射文件使用junit通过Hibernate API编写访问数据库的代码
在MyEclipse Datebase Explorer 创建数据库连接
在DB Browser界面鼠标右键new 新建数据库驱动
创建hibernate的配置文件
导入自定义类库的三个jar包 next
create SessionFactory class是否创建SessionFactory类我取消勾选了 因为我在下面自己实例化了
org.hibernate.dialect.MySQLDialect
根据数据库表自动生成持久化类和对象关系映射文件
在DB Browser界面打开我们创键的数据库连接
选中我们需要生成持久化类的表,右键选择Hibernate Reverse Engineering
java src folder 持久化类生成的项目位置
java package 持久化类的包名
在你选择的项目里即成功生成了持久化类和对象关系映射文件
持久化类
package com.susu.entity;import java.util.Date;/** * Students entity. @author MyEclipse Persistence Tools */public class Students implements java.io.Serializable { // Fields private Integer id; private String name; private String gender; private Date date; private String address; // Constructors /** default constructor */ public Students() { } /** full constructor */ public Students(String name, String gender, Date date, String address) { this.name = name; this.gender = gender; this.date = date; this.address = address; } // Property accessors public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getGender() { return this.gender; } public void setGender(String gender) { this.gender = gender; } public Date getDate() { return this.date; } public void setDate(Date date) { this.date = date; } public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; }}
对象关系映射文件
这个时候会在hibernate.cfg.xml 新增一个映射 指向刚刚生成的关系映射文件
通常我们还会加上
在控制台输出sql 语句并对Sql语句进行排版
使用junit通过Hibernate API编写访问数据库的代码
import java.util.Date;import java.util.Properties;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;import org.junit.After;import org.junit.Before;import org.junit.Test;import com.susu.entity.Students;public class StudentsTest { private SessionFactory sessionFactory; private Session session; private Transaction transaction; @Before public void init() { // 创建配置对象 Configuration config = new Configuration().configure(); // 创建服务注册对象 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder() .applySettings(config.getProperties()).buildServiceRegistry(); // 创建会话工厂对象 sessionFactory = config.buildSessionFactory(serviceRegistry); // 会话对象 session = sessionFactory.openSession(); // 开启事务 transaction = session.beginTransaction(); } @Test public void testSaveStudents() { Students stu=new Students("张三", "男", new Date(), "河南省信阳市"); session.save(stu); } @After public void destroy() { transaction.commit();// 提交事务 session.close(); sessionFactory.close(); }}
运行结果:
打开mysql数据库会发现我们成功在Students表中插入了一条数据。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~