hibernate几大特性
a.ORM框架/持久层框架 jdbc的一个框架
b.object reference mapping 对象关系映射
c.通过管理对象来改变数据库中的数据
d.通过管理对象来 *** 作数据库
后来被mybatis取代
目标:
学会使用hibernate对数据库数据进行 *** 作(增删改查)
一、使用 1.导入hibernate环境依赖2.拷入中央配置文件hibernate.cfg.xmlorg.hibernate hibernate-core5.3.0.Final
root 123456 jdbc:mysql://127.0.0.1:3306/mybatis_ssm?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT&useSSL=true com.mysql.cj.jdbc.Driver org.hibernate.dialect.MySQLDialect thread true true
文件中我做了User的映射文件配置,配置其他的映射文件也和此处相同。
二、对表格进行 *** 作 1.建立实体类注:不必按照数据库建,之前自定义mvc框架对于实体类的建立要求比较严格,必须保证属性与字段大小写一致,不然就解析不出来,而这里实体类与数据库的联系由一个配置文件保证。
实体类User:
package com.csf.one.entity; import java.sql.Date; import java.sql.Timestamp; public class User { private int id; private String userName; private String userPwd; private String realName; private String sex; private Date birthday; private Timestamp createDatetime; private String remark; 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 getUserPwd() { return userPwd; } public void setUserPwd(String userPwd) { this.userPwd = userPwd; } public String getRealName() { return realName; } public void setRealName(String realName) { this.realName = realName; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public Timestamp getCreateDatetime() { return createDatetime; } public void setCreateDatetime(Timestamp createDatetime) { this.createDatetime = createDatetime; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public User() { // TODO Auto-generated constructor stub } public User(int id, String userName, String userPwd, String realName, String sex, Date birthday, Timestamp createDatetime, String remark) { super(); this.id = id; this.userName = userName; this.userPwd = userPwd; this.realName = realName; this.sex = sex; this.birthday = birthday; this.createDatetime = createDatetime; this.remark = remark; } @Override public String toString() { return "User [id=" + id + ", userName=" + userName + ", userPwd=" + userPwd + ", realName=" + realName + ", sex=" + sex + ", birthday=" + birthday + ", createDatetime=" + createDatetime + ", remark=" + remark + "]"; } }2.建立实体类对应的映射文件
实体类映射User.hbm.xml:
详细的格式看注释。
记得将这种配置文件配置到中央配置文件中,不然会报这个错
3.具体使用Unable to locate persister: com.csf.two.entity.Order
做完上面两步,一个表在java中的模型就建立好了,接下来可以用方法来 *** 作了,中心步骤是七个。
增加:
package com.csf.one.test; import java.sql.Date; import java.sql.Timestamp; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import com.csf.one.entity.User; public class AddDemo { public static void main(String[] args) { Configuration configure = new Configuration().configure("/hibernate.cfg.xml"); SessionFactory sessionFactory = configure.buildSessionFactory(); Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); User user=new User(); user.setBirthday(new Date(System.currentTimeMillis())); user.setCreateDatetime(new Timestamp(System.currentTimeMillis())); user.setId(56); user.setRealName("heihei"); user.setRemark("电影"); user.setSex("男"); user.setUserName("吴邪"); user.setUserPwd("666"); session.save(user); transaction.commit(); session.close(); } }
如果成功,控制台d出:
修改删除与增加差不多,不演示了,看查询。
查询:
package com.csf.one.test; import java.util.List; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class QueryDemo { public static void main(String[] args) { Configuration configure = new Configuration().configure("/hibernate.cfg.xml"); SessionFactory sessionFactory = configure.buildSessionFactory(); Session session = sessionFactory.openSession(); List list = session.createQuery("from User").list(); for (Object object : list) { System.out.println(object ); } session.close(); } }
相对简短一些,不过这只是查询全部,还有很多的查询,在后面讲hql时细说。
ok,今天到此就结束了。
回顾一下:今天学了hibernate的入门使用
1.导入jar包
2.拷入中心配置文件
3.建立实体类
4.给实体类写对应的映射文件
5. *** 作对象(重要的七个步骤)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)