开始学习各种数据库连接的小伙伴相信对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中新建查询就可以查看相应表数据:
感谢你看到这里!希望对你的学习会有一点小小的帮助!