hibernate基础15:组合主键1
2021-02-17 16:18
标签:exp name -- stack created 实体 map rop nat 1、Java实体bean类 2、配置hbm.xml 3、配置hibernate.cfg.xml 4、测试 hibernate基础15:组合主键1 标签:exp name -- stack created 实体 map rop nat 原文地址:https://www.cnblogs.com/chai-blogs/p/12952422.htmlpackage com.project.pojo;
import java.io.Serializable;
/**
* 如果组合索引是类的属性时,该类必须实现Serializable
* @author Administrator
*
*/
public class Result implements Serializable{
private int stuid;//学生id
private int subid;//学科id
private double score;
public int getStuid() {
return stuid;
}
public void setStuid(int stuid) {
this.stuid = stuid;
}
public int getSubid() {
return subid;
}
public void setSubid(int subid) {
this.subid = subid;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
}
xml version="1.0" encoding="UTF-8"?>
DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
hibernate-mapping package="com.project.pojo">
class name="Result" table="t_result">
composite-id>
key-property name="stuid"/>
key-property name="subid"/>
composite-id>
property name="score" />
class>
hibernate-mapping>
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-factory>
property name="dialect">org.hibernate.dialect.MySQLDialectproperty>
property name="connection.driver_class">com.mysql.jdbc.Driverproperty>
property name="connection.url">jdbc:mysql://192.168.1.59:3306/hibernate?characterEncoding=UTF8property>
property name="connection.username">rootproperty>
property name="connection.password">1234property>
property name="show_sql">trueproperty>
property name="format_sql">trueproperty>
mapping resource="com/project/pojo/Result.hbm.xml" />
session-factory >
hibernate-configuration>
package com.project.test;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.project.pojo.Result;
import com.project.util.HibernateUtil;
public class HibernateTest {
Session session = null;
Transaction ts = null;
@Before
public void setUp(){
session = HibernateUtil.getSession();
ts = session.beginTransaction();
}
@After
public void tearDown(){
HibernateUtil.closeSession();
}
@Test
public void testCreateDB(){
Configuration cfg = new Configuration().configure();
//使得hibernate映射信息转换为数据库识别的dll语言
SchemaExport se = new SchemaExport(cfg);
//第一个参数:是否打印dll语句
//第二个参数:是否将dll到数据库中执行
se.create(true, true);
}
@Test
public void testInit(){
try {
Result r = new Result();
r.setStuid(1);
r.setSubid(1);
r.setScore(70.5);
session.save(r);
ts.commit();
} catch (Exception e) {
if(ts!=null)ts.rollback();
e.printStackTrace();
}
}
@Test
public void testSelect(){
Result r = new Result();
r.setStuid(1);
r.setSubid(1);
r = (Result) session.get(Result.class, r);
System.out.println(r.getScore());
}
}
文章标题:hibernate基础15:组合主键1
文章链接:http://soscw.com/index.php/essay/56646.html