hibernate连接sqlserver和mysql数据库的完整步骤

时间:2024-02-17 16:20:15

开始学习各种数据库连接的小伙伴相信对hibernate框架已经有了一些学习基础,这里对项目代码只介绍hibernate.cfg.xml配置文件,那我们事不宜迟,直接进入正题。


1、hibernate连接mysql


先看下配置文件的主要代码:

    <!-- 数据库连接配置四要素 -->
   <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
   <!--abc为数据库名,需在后台自己创建-->
   <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/abc</property>
   <property name="hibernate.connection.username">root</property>
   <property name="hibernate.connection.password">root</property>
   
    <!-- SQL 方言 -->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

我的版本是mysql5.5,这是开源的,可以直接在mysql官网下载,安装完成后设置用户(root),密码(root),默认端口号为3306。

别忘了导入相应的驱动包(lib目录下):
在这里插入图片描述
运行前记得在后台启动:
在这里插入图片描述
名称可以自定义。

在后台进入mysql后执行以下代码:
在这里插入图片描述
创建数据库abc,进入数据库abc。(必须操作)
一般都在配置文件中设置自动创表:

    <property name="hibernate.hbm2ddl.auto">update</property>

我的单元测试文件(Test1.java):

package co.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

import com.User;

public class Test1{
	@Test
	public void test1() {
		User user = new User();
		user.setUsername("小明");
		user.setPassword("123456");
		
		Configuration config = new Configuration().configure();
	
		SessionFactory factory = config.buildSessionFactory();
		
		Session session =factory.openSession();
		
		Transaction trans = session.beginTransaction();
		
		session.save(user);
		
		trans.commit();
		
		session.close();

		factory.close();
	}
}

当然项目中还有一个实体类User,属性为username和password。
出现以下字段说明插入完成:
在这里插入图片描述
在后台黑白界面可以查询表数据(我的映射文件生成的表为user20):
在这里插入图片描述
这里出现了中文乱码,在数据库字符集等东西全部设置为utf-8依然出现中文乱码,
解决方法:出现中文乱码:查询表之前输入 set names gbk;
再次查询就没有问题了。


2、hibernate连接sqlserver


配置文件主要代码:

    <!-- 数据库连接配置四要素 -->
    <property name="hibernate.connection.driver_class">
    com.microsoft.sqlserver.jdbc.SQLServerDriver</property>  
    <property name="connection.url">
    <!--abc为数据库名,需在后台自己创建-->
    jdbc:sqlserver://localhost:1433;DatabaseName=abc</property>
    <property name="hibernate.connection.username">sa</property>
    <property name="hibernate.connection.password">root</property>
    
    <!-- SQL 方言 -->
   <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>

导入相应的驱动包(lib目录下):
在这里插入图片描述
我所用版本为2008 R2,虽然是10年前的版本,但功能还算全面,它默认的用户名为sa,我设置的密码为root。
在这里插入图片描述
当然别忘记在后台启动:
在这里插入图片描述
端口号默认是1433,可以在SQL Server配置管理器中查看(TCP/IP):
在这里插入图片描述
在这里插入图片描述
它的操作比较舒服,因为是在图形化界面下,下面贴出操作步骤:
在这里插入图片描述
在这里插入图片描述
这样就创建了abc数据库,当然你也可以像在mysql操作一样输入生成语句。
在这里插入图片描述
记得在配置文件中写出自动生成表的语句,这样就不用创表了。

在数据库abc中新建查询就可以查看相应表数据:
在这里插入图片描述
感谢你看到这里!希望对你的学习会有一点小小的帮助!