在eclipse里安装Hibernate的插件可以看我的上一篇博客 在eclipse中安装插件hibernate
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Maven_Hibernate</groupId>
<artifactId>Maven_Hibernate</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Maven_Hibernate Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<argLine>-Dfile.encoding=UTF-8</argLine>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- 加入Servlet依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- 加入hibernate依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.10.Final</version>
</dependency>
<!-- 加入MySQL依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
</dependency>
</dependencies>
<build>
<finalName>Maven_Hibernate</finalName>
</build>
</project>
User实体类
package com.zking.entity;
public class User {
private int u_id;//编号
private String u_name;//用户名
private String u_pwd;//密码
public User() {
}
public User(int u_id) {
this.u_id = u_id;
}
public User(String u_name, String u_pwd) {
this.u_name = u_name;
this.u_pwd = u_pwd;
}
public User(int u_id, String u_name, String u_pwd) {
this.u_id = u_id;
this.u_name = u_name;
this.u_pwd = u_pwd;
}
public int getU_id() {
return u_id;
}
public void setU_id(int u_id) {
this.u_id = u_id;
}
public String getU_name() {
return u_name;
}
public void setU_name(String u_name) {
this.u_name = u_name;
}
public String getU_pwd() {
return u_pwd;
}
public void setU_pwd(String u_pwd) {
this.u_pwd = u_pwd;
}
}
User.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2017-8-21 19:40:27 by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
<!-- 这是一个映射文件 -->
<class name="com.zking.entity.User" table="USER">
<!-- 主键用id代替 , u_id代表entity里的属性名 , U_ID代表数据库表里的列名-->
<id name="u_id" type="int">
<column name="U_ID" />
<!-- native本地设置,取决于本地数据库的设置,native会自动检测本地数据库是什么类型 -->
<generator class="native" />
</id>
<!-- type数据类型 -->
<property name="u_name" type="java.lang.String">
<column name="U_NAME" />
</property>
<property name="u_pwd" type="java.lang.String">
<column name="U_PWD" />
</property>
</class>
</hibernate-mapping>
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!-- session工程 这里的session等于Connection-->
<session-factory>
<!-- 配置数据库的连接信息 -->
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 显示SQL语句,show_sql为true就会展示所有的SQL语句 -->
<property name="show_sql">true</property>
<!-- 关联映射文件 -->
<mapping resource="com/zking/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
增删改查的测试
package com.zking.test;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.zking.entity.User;
public class TestCRUD {
private SessionFactory sessionFactory;
private Session session;
private Transaction transaction;
/**
* 在每一个测试方法之前运行
*/
@Before
public void before(){
//第一步:读取hibernate配置
Configuration configuration=new Configuration().configure();
//第二步:获取sessionFactory
sessionFactory = configuration.buildSessionFactory();
//第三步:获取session
session = sessionFactory.openSession();
//第四步:开启事务
transaction = session.beginTransaction();
}
/**
* 在每一个测试方法之后运行
*/
@After
public void after(){
//提交事务
transaction.commit();
//关闭
session.close();
sessionFactory.close();
}
/**
* 添加
*/
@Test
public void testAdd(){
//保存,添加
// User user=new User("琳琳","123");
// session.save(user);
}
/**
* 查询
*/
@Test
public void get(){
//查询单个(1,是ID的值)
// User user=session.get(User.class, 1);
// System.out.println("单个查询:用户名:"+user.getU_name()+",密码:"+user.getU_pwd());
//查询所有createCriteria标准查询
List<User> users=session.createCriteria(User.class).list();
for (User user : users) {
System.out.println(user.getU_name()+" "+user.getU_pwd());
}
}
/**
* 修改
*/
@Test
public void update(){
User user=(User)session.load(User.class, 5);
user.setU_name("老于");
user.setU_pwd("123456");
session.update(user);
}
/**
* 删除
*/
@Test
public void delete(){
User user=(User)session.load(User.class, 14);
session.delete(user);
}
}
如果你的eclipse快捷键出不来,你可以试一试