MyEclipse 2017 Ci 1 用hibernate5.0连接SQL Server 2014

来源:互联网 发布:淘宝特卖女装连衣裙 编辑:程序博客网 时间:2024/06/04 01:20

MyEclipse 2017 Ci 1 hibernate5.0连接SQL Server 2014

本人是一名安卓菜鸟,最近在学Java Web,想自己给自己写接口,简单的账户密码登录已经没问题了,但是复杂一些的还写不出来,之前访问数据库都是写SQL语句,select * from A……刚开始不知道怎么用框架,大篇幅的写原生语句,累死人。然后就研究hibernate框架吧,发现我下载的是最新版本的MyEclipse 2017 Ci 1,百度的教程都是以前出的,代码用在这里面有时候会报错,于是自己鼓捣了好久,今天总算会用hibernate5.0连接SQL Server 2014了,不用再写原生的SQL语句了。接下来进入正题:

一、在SQL Server 2014中新建数据库Test和表student(安装请自行百度,这里不做讲解)


 

其中sid表示学生编号,sname表示学生姓名,sage表示学生年龄,sadress表示学生住址,ssex表示学生性别,sgrade表示学生分数。啊哈,数据库和表都建完了,接下来没数据库啥事了,进入第二步。

二、打开MyEclipse 2017 Ci 1新建一个Java web项目(不过我们没用的web功能,只用了一个简单的Java类)。

 

命名为March25night(因为今天是325日),然后点击完成,项目结构是这样的:

 

啥也没有,接下来我们在src目录下创建一个包和一个测试类Test.java

 

 

依然是空的,我们暂时不管。接下来到了连接数据库了,注意看步骤:

点击添加视图的按钮,把数据库和hibernate添加进来:

 

添加进来的视图是这样的:

 

然后我们点击hibernate进入连接数据库的页面:

 

 

 

这时候点击右键--new--出这个页面

 

这时候我们需要做一些配置了,首先第一个大红框Driver template咱们选择的是Microsoft SQL Server(jTDS driver)Driver name这个选项随便取一个名字,Connection URL有固定的格式:jdbc:jtds:sqlserver://服务器地址:端口号/数据库名字 ,所以我的是这样的:   

jdbc:jtds:sqlserver://localhost:1433/Test,下面一个是usernamepassword,这是咱们SQL server的登录名和密码;接下来选择驱动的jar包,找到位置添加后我们点击Test Driver,如果连接成功了则显示这样的界面:(注意:jar包还需要添加到webroot--webinfo--lib下,然后buildpath)

jar包点击下载

 

成功后点finishOK了。然后我们新建的连接就显示了,右键打开它:

 

有没有发现我们刚刚建的表出来了,所有字段都出现了:

 

好,我们先回到项目中把框架添加进来,然后在对它进行映射

在项目中点击右键--Config facets--Install Hibernate facet

 

 

 

finish就行。再回到刚刚出现数据库那页,忘了点击什么了?点这里

 

student表上点右键--Hibernate Reverse Engineering--选择文件夹,选择包后把红框选上,接着再来一次,这次选择第一项的Add hibernate mapping……

 

 

Ok,完成后回到项目中,看看发生了什么变化吧:是不是多了很多文件?

 


文件具体什么意思请自行百度,接下来配置完了我们需要对数据库写入了:

进入我们的Test.java中写测试代码:

package com.billy.lu;

 

import java.util.ArrayList;

import java.util.List;

 

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.boot.registry.StandardServiceRegistryBuilder;

import org.hibernate.cfg.Configuration;

 

public class Test {

 

/**

 * @param args

 */

public static void main(String[]args) {

// TODO Auto-generated method stub

Configuration cf = new Configuration().configure();

StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().configure().build();

SessionFactory sf = new MetadataSources(ssr).buildMetadata().buildSessionFactory();

Session session = sf.openSession();

Transaction ts = session.beginTransaction();

// 为了演示效果,我一次插入多条吧

// list5条数据

Student stu = new Student();

StudentId stuid;

stuid =new StudentId();

stuid.setSid("01");

stuid.setSname("BillyLu");

stuid.setSage("23");

stuid.setSadress("云南保山");

stuid.setSsex("");

stuid.setSgrade("60");

 

stu.setId(stuid);

session.save(stu);

 

ts.commit();

session.close();

sf.close();

}

}

 

代码完成后点击保存,然后运行,运行结束后查看刚刚的数据库~

 

为什么会有3条呢?(因为我运行了3次,哈哈,睡啦睡啦)

1 0