关于Hibernate+Mysql8.0的一些注意事项





	
	com.mysql.cj.jdbc.Driver
	jdbc:mysql://localhost:3306/myy?useSSL=false&serverTimezone=UTC
	root
	root
	
	
	org.hibernate.dialect.MySQL5Dialect
	
	
	
	
	
	update
	
	
	true
	
	
	true

		
		
		
	

hibernate.cfg.xml配置在src目录下注意驱动,方言和url一定要按照上面的来写,这里就不说明原因了,已经与百度密切合作:

www.baidu.com

package com.pyq.hibernate.helloworld;

import java.sql.Date;

public class News {
	
	private Integer id;
	private String title;
	private String author;
	
	private Date date;

	public News() {
		super();
		// TODO Auto-generated constructor stub
	}

	public News(Integer id, String title, String author, Date date) {
		this.id = id;
		this.title = title;
		this.author = author;
		this.date = date;
	}
	public News( String title, String author, Date date) {
		this.title = title;
		this.author = author;
		this.date = date;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getAuthor() {
		return author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}

	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

}

News类

在hibernate.cfg.xml关联

 






    
        
        	
            
        
        
        
        	
        
        
        
        	
        
        
        
        	
        

    
    

News中的属性与数据库字段对应,我这里启动的是自增的ID :

注意你的mysql8.0中ID需要设置为主键且自增,推荐大家使用Navicat Premium来开发

package com.pyq.hibernate.helloworld;


import java.sql.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;

public class Test {
	
	
	public static void main(String[] args){
		//创建一个会话工厂对象SessionFactory
		SessionFactory sessionFactory = null;
		//创建Con对象:对应hibernate的基本配置信息和对象关系映射
		Configuration config = new Configuration().configure();
		//4.0之前这样创建
		//sessionFactory = config.buildSessionFactory();
		//4.x创建一个SessionFactoryRegistry对象hibernate的任何配置和服务都需要在该对象中注册后才有用
		StandardServiceRegistry standardRegistry = new 
                StandardServiceRegistryBuilder().configure().build();
		sessionFactory  = config.buildSessionFactory(standardRegistry);
		
		//创建并打开会话
		Session session =sessionFactory.openSession();
		//开启事务
		org.hibernate.Transaction transaction = session.beginTransaction();
		//执行保存操作
		News news = new News("Java", "pyq", new Date(new java.util.Date().getTime()));
		session.save(news);
		//提交事务
		transaction.commit();
		//关闭session
		session.close();
		//关闭sessionfactory
		sessionFactory.close();
	}

}

最后是测试类,我这里给我的News类重载了一个构造方法,即没有放入ID,因为我选择的是ID自增长,还有一点在hibernate.cfg.xml中update我也自动建立了表,你不用去数据库建News表,他会自动生成。最后启动工程hibernate.cfg.xml中true会在控制台打印建表和插入sql

 

关于Hibernate+Mysql8.0的一些注意事项_第1张图片

这就是后台打印的sql语句,工程目录如下:

关于Hibernate+Mysql8.0的一些注意事项_第2张图片

记得导入相应的jar包(官网下载Hibrenate即可,还需要一个数据库连接的)

关于Hibernate+Mysql8.0的一些注意事项_第3张图片

Finish,入门操作完成.................

你可能感兴趣的:(关于Hibernate+Mysql8.0的一些注意事项)