博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORM框架入门----使用Hibernate实现用户添加
阅读量:3971 次
发布时间:2019-05-24

本文共 2244 字,大约阅读时间需要 7 分钟。

准备工作:

  • 准备1:导入Hibernate库(jar包)
    在这里插入图片描述
  • 准备2:添加配置文件 – hibernate.cfg.xml (放在src下)

具体配置内容如下:

org.hibernate.dialect.MySQLInnoDBDialect
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/hellohibernate?useSSL=false
//用户名
//密码
true

*问题:连接 mysql 的 jar 包版本不一致

解决方法:将useSSL设置成false

  • 准备3:添加实体类和映射文件(User.hbm.xml),通常放在一个目录下。
    导入实体类:
import java.util.Date;public class User {
private int id; private String name; private String gender; int age; 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 String getGender() {
return gender; } public void setGender(String gender) {
this.gender = gender; } 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; }}

设计数据库:

在这里插入图片描述

导入User.hbm.xml

问题:

id类型与数据库建表时不匹配

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

解决方法:删除 type="long"


测试:创建manageUser.java类

import java.sql.Date;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import cn.hrbust.pojo.User;public class manageUser {
public static void main(String[] args) {
// TODO Auto-generated method stub Configuration cfg = null; SessionFactory sf = null; Session session = null; Transaction ts = null; User u = new User(); u.setName("xyg");//添加名字 u.setGender("女");//添加性别 u.setAge(21);//添加年龄 u.setBirthday(Date.valueOf("2000-4-20"));//添加生日 try {
cfg = new Configuration().configure(); sf = cfg.buildSessionFactory(); session = sf.openSession(); ts = session.beginTransaction(); session.save(u); ts.commit(); } catch (HibernateException e) {
// TODO Auto-generated catch block e.printStackTrace(); if(ts != null) {
ts.rollback(); } } finally {
session.close(); sf.close(); } }}

数据库中添加成功:

在这里插入图片描述

转载地址:http://sstki.baihongyu.com/

你可能感兴趣的文章
oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT
查看>>
JAVA中重写equals()方法为什么要重写hashcode()方法?
查看>>
JAVA中运用数组的四种排序方法
查看>>
常见Map 及 ArrayList 是否有序总结
查看>>
在linux下查看CPU,内存大小
查看>>
Linux下SSH跳转无密码登录或执行命令
查看>>
java多线程 sleep()和wait()的区别
查看>>
oracle 实现 关联两个表更新 update select
查看>>
shell 脚本基本语法
查看>>
linux PATH环境变量全解析
查看>>
linux配置java环境变量
查看>>
linux 远程执行 shell脚本中nohup启动注意
查看>>
JAVA程序退出时执行的操作Runtime类的addShutdownHook函数使用示例
查看>>
普通用户执行脚本具有root用户权限
查看>>
su 从root用户切到普通用户执行命令
查看>>
linux文件权限chmod
查看>>
KMP字符串模式匹配
查看>>
Java:重写equals()和hashCode()
查看>>
windows 7环境下配置oracle 11g 客户端
查看>>
ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法
查看>>