IDEA中利用Hibernate连接SQL Server

1 引言

  • 本教程介绍了从建立项目到连接至数据库的全部过程以及在其中我自己遇到的问题。

2 建立项目

  1. 选择Java Enterprise
  2. 勾选Web Application
  3. 勾选hibernate
  4. 下载hibernate
  5. 取项目名称,完成建立项目
建立项目

建立项目

下载Hibernate

3 添加驱动包

  • 项目建立成功后如下:


    lib
  • 此时还需要添加SQL Server的驱动包
    下载驱动包
  • 下载完成后复制进lib包下再添加成库即可

4 编写Hibernate配置文件模板

编写模板

hibernate.cfg.xml模板代码如下:




    
        
        root
        
        
        
        com.microsoft.sqlserver.jdbc.SQLServerDriver
        
        jdbc:sqlserver://localhost:1433;DatabaseName=hibernate
        
        org.hibernate.dialect.SQLServerDialect

        true
        true

        update
        
        
        
        
    

实体模板代码如下:




    
    
        
        
            
            
            
        
        
            
        
        
            
        
        
            
        
        
            
        
    

5 编写配置文件与实体文件

配置文件与实体文件
  • 代码如下:



    
        sa
        659996520..
        com.microsoft.sqlserver.jdbc.SQLServerDriver
        jdbc:sqlserver://localhost:1433;DatabaseName=hibernate
        org.hibernate.dialect.SQLServerDialect

        true
        true
        create

        
        
        
    





    
        
            
            
        
        
            
        
        
            
        
        
            
        
        
            
        
    


import java.util.Date;

/**
 * Created by DreamBoy on 2016/5/15.
 */
//学生类
public class Students {
    //1. 必须为公有的类
    //2. 必须提供公有的不带参数的默认的构造方法
    //3. 属性私有
    //4. 属性setter/getter封装

    private int sid; //学号
    private String sname; //姓名
    private String gender; //性别
    private Date birthday; //出生日期
    private String address; //地址

    public Students() {
    }

    public Students(int sid, String sname, String gender, Date birthday, String address) {
        this.sid = sid;
        this.sname = sname;
        this.gender = gender;
        this.birthday = birthday;
        this.address = address;
    }

    public int getSid() {
        return sid;
    }

    public void setSid(int sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "Students{" +
                "sid=" + sid +
                ", sname='" + sname + '\'' +
                ", gender='" + gender + '\'' +
                ", birthday=" + birthday +
                ", address='" + address + '\'' +
                '}';
    }
}

6 sql server 数据库配置

  • 打开ssms
  • 右键sql server属性
允许被连接

配置协议
  • 查看TCP/IP是否已启动


    TCP/IP是否启动
  • 查看端口(一般默认为1433)


    端口
  • 防火墙设置


    设置入站规则

    允许端口
  • 最后千万别忘记重启服务!


    重启服务
  • 登录数据库


    登录
  1. 注意,登录名和密码和之前配置文件的name 和 password一致。
  2. 如何设置登录名和密码?右键属性可以更改密码
    用户名与密码

7 测试连接

  • 利用单元测试的方式
    下载单元测试jar包
  • 添加包


    添加包
  • 添加测试包,并设置其为源


    test
  • 测试代码如下:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import java.util.Date;

/**
 * Created by DreamBoy on 2016/5/15.
 */
//测试类
public class StudentsTest {
    private SessionFactory sessionFactory;
    private Session session;
    private Transaction transaction;

    @Before
    public void init() {
        //创建配置对象
        Configuration config = new Configuration().configure();
        //创建服务注册对象
        StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
                .configure().build();
        //创建会话工厂对象
        sessionFactory = new MetadataSources( serviceRegistry ).buildMetadata().buildSessionFactory();
        //会话对象
        session = sessionFactory.openSession();
        //开启事务
        transaction = session.beginTransaction();
    }

    @After
    public void destory() {
        transaction.commit(); //提交事务
        session.close(); //关闭会话
        sessionFactory.close(); //关闭会话工厂
    }

    @Test
    public void testSaveStudents() {
        //生成学生对象
        Students s = new Students(1, "张三丰", "男", new Date(), "武当山");
        session.save(s); //保存对象进入数据库
    }
}
  • 运行,得出结果


    运行成功
  • 此时,在数据库中可以看到表students已经被创建并且赋值了一行。


    最终结果

至此我们利用IDEA进行Hibernate与Sql server的连接就成功了!

你可能感兴趣的:(IDEA中利用Hibernate连接SQL Server)