本次记录自己搭建ssh框架遇到的一些坑,特此记录
第一步:
用eclipse里创建Maven项目
第二步:
在pom.xml文件中
<!-- 添加Hibernate依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.7.Final</version>
</dependency>
<!-- 添加javassist -->
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.12.0.GA</version>
</dependency>
第三步:
在src/main/resource包下创建xx.cfg.xml文件,配置Hibernamte属性,
<!-- 配置链接数据库的信息 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false</property>
<property name="hibernate.connection.username">username</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> (新版本)
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop> (旧版本)旧版在高版本上会报 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 7
- 注意上面 localhost:3306/test是你的数据库路径,username,password是你数据库的用户和密码
文件配置完成,现在我们创建一个用户表
import javax.persistence.Entity;
import javax.persistence.Id;
/**
* 用户表
*
* @author Administrator
*
*/
@Entity(name = "tb_user")
public class User {
/**
* uid
*/
@Id
private int uid;
/**
* 用户名
*/
private String name;
/**
* 密码
*/
private String pass;
/**
* 地址
*/
private String addres;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getAddres() {
return addres;
}
public void setAddres(String addres) {
this.addres = addres;
}
}
以上我们Hibbernate准备工作,已经做好,那我们测试一下吧。
final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("你自己配置文件.cfg.xml")
.build();
// 2. 根据服务注册类创建一个元数据资源集,同时构建元数据并生成应用一般唯一的的session工厂
SessionFactory sessionFactory = new MetadataSources(registry).buildMetad
ata().buildSessionFactory();
/**** 上面是配置准备,下面开始我们的数据库操作 ******/
Session session = sessionFactory.openSession();// 从会话工厂获取一个session
Transaction t = session.beginTransaction();
User user = new User();
user.setAddres("北京");
user.setName("顺义");
user.setPass("123rtw");
user.setUid(10;
session.persist(user);
t.commit();
session.close();