Hibernate之第3解之-hibernate_hibernate_many2one_1

多对一映射简例:

1.我使用学生和地址的关系来做示例:
student[s_id,s_name,s_addr]
address[a_id,city]
2.建立数据库表:

create table address(
		a_id	int(10)	auto_increment	primary key,
		city	varchar(16)
)engine=MyISAM CHARACTER SET=utf8;
	
create table student(
		s_id	int(10)	auto_increment	primary key,
		s_name	varchar(20)	not null,
		s_addr	int(10),
		foreign key (s_addr) references address(a_id)
)engine=MyISAM CHARACTER SET=utf8;

 3.jar包:和数据库映射:

/hibernate_many2one_1/lib/antlr-2.7.6.jar
/hibernate_many2one_1/lib/commons-collections-3.1.jar
/hibernate_many2one_1/lib/dom4j-1.6.1.jar
/hibernate_many2one_1/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar
/hibernate_many2one_1/lib/hibernate3.jar
/hibernate_many2one_1/lib/javassist-3.12.0.GA.jar
/hibernate_many2one_1/lib/jta-1.1.jar
/hibernate_many2one_1/lib/junit-4.9b1.jar
/hibernate_many2one_1/lib/mysql6.jar
/hibernate_many2one_1/lib/slf4j-api-1.6.1.jar
/hibernate_many2one_1/lib/slf4j-simple-1.6.1.jar

hibernate.cfg.xml

<!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="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.url">jdbc:mysql://localhost:3306/hnie?useUnicode=true&amp;characterEncoding=UTF-8</property>
		<property name="connection.username">root</property>
		<property name="connection.password">1234</property>
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<property name="show_sql">true</property>

		<mapping resource="model/Student.hbm.xml"/>
		<mapping resource="model/Address.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

 

4.model层:Address和Student

(1)Address.java

package model;

public class Address {
	private int id;
	private String city;

	public int getId() {
		return id;
	}
	private void setId(int id) {
		this.id = id;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
}

 (-1)Address.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">
<hibernate-mapping package="model">
	<class name="Address" table="address" lazy="false">
		<id name="id" type="integer" column="a_id">
            <generator class="identity"/>
		</id>
		<property name="city" type="string" column="city"/>
	</class>
</hibernate-mapping>

(2)Student.java

package model;

public class Student {
	private int stuId;
	private String stuName;
	private Address address;

	public int getStuId() {
		return stuId;
	}
	private void setStuId(int stuId) {
		this.stuId = stuId;
	}
	public String getStuName() {
		return stuName;
	}
	public void setStuName(String stuName) {
		this.stuName = stuName;
	}
	public Address getAddress() {
		return address;
	}
	public void setAddress(Address address) {
		this.address = address;
	}
}

 (-2)Student.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">
<hibernate-mapping package="model">
	<class name="Student" table="student" lazy="false">
		<id name="stuId" type="integer" column="s_id">
            <generator class="identity"/>
		</id>
		<property name="stuName" type="string" column="s_name" />
		<many-to-one name="address" class="Address" column="s_addr" not-null="true" cascade="save-update"/>
	</class>
</hibernate-mapping>

  5.获取Session的工具类:

     HibernateUtil.java

package util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
	private static final SessionFactory sessionFactory=buildSessionFactory();
	/**	init sessionFactory	*/
	private static SessionFactory buildSessionFactory() {
		SessionFactory sessionFactory=null;
		try{
			sessionFactory=new Configuration().configure().buildSessionFactory();
		}catch(Throwable te){
			System.err.println("init sessionFactory Error:"+te);
			te.printStackTrace();
		}
		return sessionFactory;
	} 
	/**	get session	*/
	public static Session getSession(){
		Session session=sessionFactory.openSession();
		return session;
	}
}

 6.dao层:AddressDao.java和StudentDao.java

    1).AddressDao操作address表:

package dao;

import java.util.Iterator;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
import util.HibernateUtil;
import model.Address;

public class AddressDao {
	/**	增加地址记录; */
	public void addAddress(Address addr){
		Session session=HibernateUtil.getSession();
		Transaction tx=null;
		try{
			tx=session.beginTransaction();
			session.save(addr);
			tx.commit();
		}catch(HibernateException he){
			tx.rollback();
			he.printStackTrace();
		}finally{
			session.close();
		}
	}
	/**	使用id查询一条记录;	 */
	public Address getById(int aid){
		Session session=HibernateUtil.getSession();
		Transaction tx=null;
		Address addr=null;
		try{
			tx=session.beginTransaction();
			addr=(Address)session.load(Address.class,new Integer(aid));
//			addr=(Address)session.get(Address.class,new Integer(aid));
			tx.commit();
		}catch(HibernateException he){
			tx.rollback();
			he.printStackTrace();
		}finally{
			session.close();
		}
		return addr;
	}
	/**	使用属性列查询所有匹配某个值的记录;	 */
	public List<Address> getByField(String fld,String value){
		List<Address> list=null;
		Session session=HibernateUtil.getSession();
		Transaction tx=null;
		try{
			tx=session.beginTransaction();
			Query q=session.createQuery("from Address a where a."+fld+"=?");
			q.setParameter(0, value);
			list=q.list();
			tx.commit();
		}catch(HibernateException he){
			tx.rollback();
			he.printStackTrace();
		}finally{
			session.close();
		}
		return list;
	}
	/**	更新一条记录;	 */
	public void updateAddress(int id,String city){
		Session session=HibernateUtil.getSession();
		Transaction tran=null;
		try{
			tran=session.beginTransaction();
			Address addr=(Address)session.load(Address.class,new Integer(id));
			addr.setCity(city);
			session.flush();
			tran.commit();
		}catch(HibernateException he){
			tran.rollback();
			he.printStackTrace();
		}finally{
			session.close();
		}
	}
	/**	使用like通配符删除指定列 */
	public void deleteAddress(String fld,String val){
		Session session=HibernateUtil.getSession();
		Transaction tx=null;
		try {
			tx=session.beginTransaction();
			/*	1.Criteria查询;	*/
			Criteria criter=session.createCriteria(Address.class).add(Restrictions.like(fld,"%"+val+"%"));
			Iterator<Address> it=criter.list().iterator();
			/*	2.Query查询	
			Query q=session.createQuery("from Address as s where s.? like ?");
			q.setParameter(0, fld);	
			q.setParameter(1, "%"+val+"%");	
			Iterator<Address> it=q.list().iterator();	*/
			/*	3.Native sql查询	表名和表中的列名而不是实体类的类名和属性名了
			SQLQuery sqlq=session.createSQLQuery("SELECT * FROM address WHERE ? like ?").addEntity(Address.class);
			sqlq.setParameter(0,fld);
			sqlq.setParameter(1, "%"+val+"%");
			Iterator<Address> it=sqlq.list().iterator();	*/
			while(it.hasNext()){
				session.delete(it.next());
			}
			tx.commit();
		} catch (HibernateException he) {
			tx.rollback();
			he.printStackTrace();
		} finally {
			session.close();
		}
	}
}

     2).StudentDao操作student表

package dao;

import java.util.Iterator;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
import util.HibernateUtil;
import model.Student;

public class StudentDao {
	/**	存入一条记录;	 */
	public void addStudent(Student stu){
		Session session=HibernateUtil.getSession();
		Transaction tx=null;
		try{
			tx=session.beginTransaction();
			session.save(stu);
			tx.commit();
		}catch(HibernateException he){
			tx.rollback();
			he.printStackTrace();
		}finally{
			session.close();
		}
	}
	/**	根据id查询学生一条;	 */
	public Student getStudentById(int sid){
		Session session=HibernateUtil.getSession();
		Transaction tx=null;
		Student stu=null;
		try{
			tx=session.beginTransaction();
//			stu=(Student)session.load(Student.class,new Integer(sid));
			stu=(Student)session.get(Student.class,new Integer(sid));
			tx.commit();
		}catch(HibernateException he){
			tx.rollback();
			he.printStackTrace();
		}finally{
			session.close();
		}
		return stu;
	}
	/**	查询所有学生;	 */
	public List<Student> getAll(){
		List<Student> list=null;
		Session session=HibernateUtil.getSession();
		Transaction tx=null;
		try{
			tx=session.beginTransaction();
			list=session.createQuery("from Student as a").list();
			tx.commit();
		}catch(HibernateException he){
			tx.rollback();
			he.printStackTrace();
		}finally{
			session.close();
		}
		return list;
	}
	/**	根据指定属性查询学生;	 */
	public List<Student> getByField(String fld,String val){
		List<Student> list=null;
		Session session=HibernateUtil.getSession();
		Transaction tx=null;
		try{
			tx=session.beginTransaction();
			Query q=session.createQuery("from Student s where s."+fld+"=?");
			q.setParameter(0,val);
			list=q.list();
			tx.commit();
		}catch(HibernateException he){
			tx.rollback();
			he.printStackTrace();
		}finally{
			session.close();
		}
		return list;
	}
	/**	修改 stuName	 */
	public void updateName(String oldName,String newName){
		Session session=HibernateUtil.getSession();
		Transaction tx=null;
		try{
			tx=session.beginTransaction();
			/* 1.hibernate3新update */
			Query q=session.createQuery("update Student set stuName=? where stuName=?");
			q.setParameter(0, newName);
			q.setParameter(1, oldName);
			q.executeUpdate();
			/* 2.查询删除! 
			Query q=session.createQuery("from Student s where s.stuName= ?");
			q.setParameter(0, oldName);
			Iterator<Student> it=q.list().iterator();
			while(it.hasNext()){
				Student s=it.next();
				s.setStuName(newName);
				session.update(s);
			}	*/
			tx.commit();
		}catch(HibernateException he){
			tx.rollback();
			he.printStackTrace();
		}finally{
			session.close();
		}
	}
	/**	删除指定列为指定值的记录;	 */
	public void deleteStudent(String fld,String val){
		Session session=HibernateUtil.getSession();
		Transaction tx=null;
		try {
			tx=session.beginTransaction();
			/*	4.hibernate3支持删除实体	
			Query q=session.createQuery("delete Student where "+fld+"=?");
			q.setParameter(0, val);
			q.executeUpdate();	*/
			/*	1.Criteria查询;	
			Criteria criter=session.createCriteria(Student.class).add(Restrictions.eq(fld,val));
			Iterator<Student> it=criter.list().iterator();	*/
			/*	2.Query查询	*/
			Query q=session.createQuery("from Student as s where s."+fld+" = ?");
			q.setParameter(0, val);	
			Iterator<Student> it=q.list().iterator();	
			/*	3.Native sql查询	表名和表中的列名而不是实体类的类名和属性名了	
			SQLQuery sqlq=session.createSQLQuery("delete FROM student WHERE "+fld+" = '"+val+"';").addEntity(Student.class);
			sqlq.executeUpdate();	*/
			while(it.hasNext()){
				Student s=it.next();
				session.delete(s);
			}
			tx.commit();
		} catch (HibernateException he) {
			tx.rollback();
			he.printStackTrace();
		} finally {
			session.close();
		}
	}
}

 7.业务层:

    1)AddressManager.java

package service;

import java.util.List;

import dao.AddressDao;
import model.Address;

public class AddressManager {
	AddressDao dao=new AddressDao();
	
	/**	增加地址记录; */
	public void save(Address addr){
		dao.addAddress(addr);
	}
	/**	使用id查询一条记录;*/
	public Address getById(int id){
		return dao.getById(id);
	}
	/** 使用属性列查询所有匹配某个值的记录; */
	public List<Address> getByField(String fld,String val){
		return dao.getByField(fld, val);
	}
	/**更新一条记录;*/
	public void update(int id,String city){
		dao.updateAddress(id,city);
	}
	/**使用like通配符删除指定列*/
	public void deleteWithLike(String fld,String val){
		dao.deleteAddress(fld, val);
	}
}

     2)StudentManager.java

package service;

import java.util.List;
import dao.StudentDao;
import model.Student;

public class StudentManager {
	StudentDao dao=new StudentDao();
	/**	存入一个学生实体; */
	public void save(Student stu){
		dao.addStudent(stu);
	}
	/**	根据id查询学生一条; */
	public Student getById(int id){
		return dao.getStudentById(id);
	}
	/** 根据指定属性查询学生;	 */
	public List<Student> getByField(String fld,String val){
		return dao.getByField(fld, val);
	}
	/** 修改 stuName */
	public void update(String oldName,String newName){
		dao.updateName(oldName, newName);
	}
	/** 删除指定列为指定值的记录; */
	public void deleteByField(String fld,String val){
		dao.deleteStudent(fld, val);
	}
	/** 查询所有学生; */
	public List<Student> getAll(){
		return dao.getAll();
	}
}

 8.Junit4测试:

    1)测试业务类AddressManager

package service;

import java.util.List;

import model.Address;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class AddressManagerTest {
	AddressManager man;
	@Before public void init(){
		man=new AddressManager();
	}
	@After public void close(){
		man=null;
	}
	
	/** 增加地址记录; */
	@Test public void testSave() {
		Address addr=new Address();
		addr.setCity("天津");
		man.save(addr);
	}
	/** 使用id查询一条记录; */
	@Test public void testGetById() {
		Address addr=man.getById(3);
		System.out.println(addr.getCity());
	}
	/** 使用属性列查询所有匹配某个值的记录; */
	@Test public void testGetByField() {
		List<Address> list=man.getByField("city","南京");
		for(Address ad:list){
			System.out.println(ad.getId()+"="+ad.getCity());
		}
	}
	/** 更新一条记录; */
	@Test public void testUpdate() {
		man.update(10,"金陵");
	}
	/** 使用like通配符删除指定列 */
	@Test public void testDeleteWithLike() {
		man.deleteWithLike("city","京");
	}
}

    2)测试业务类StudentManager

package service;

import java.util.Iterator;
import java.util.List;
import model.Address;
import model.Student;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class StudentManagerTest {
	StudentManager manager;
	AddressManager aman;
	@Before	public void init(){
		manager=new StudentManager();
		aman=new AddressManager();
	}
	@After public void close(){
		manager=null;
		aman=null;
	}
	
	/** 测试存储一个学生 */
	@Test public void testSave(){
		Student s=new Student();
		String ct="上海";
		List<Address> list=aman.getByField("city",ct);
		Address addr=null;
		if(list.size()<1){
			addr=new Address();
			addr.setCity("上海");
			s.setAddress(addr);
		}else{
			addr=list.get(0);
			s.setAddress(addr);
		}
		s.setStuName("彬彬");
		manager.save(s);
	}
	/** 根据id查询学生一条; */
	@Test public void testGetById() {
		Student s=manager.getById(20);
		System.out.println(s.getStuName()+s.getAddress().getCity());
	}
	/** 根据指定属性查询学生;	 */
	@Test public void testGetByField() {
		Iterator<Student> it=manager.getByField("stuName","彬").iterator();
		while(it.hasNext()){
			Student student=it.next();
			System.out.println(student.getStuId()+"-"+student.getStuName()+"-"+student.getAddress().getCity());
		}
	}
	/**  查询所有学生; */
	@Test public void testGetAll() {
		Iterator<Student> it=manager.getAll().iterator();
		while(it.hasNext()){
			Student s=it.next();
			System.out.println("id:"+s.getStuId()+"-"+"sname:"+s.getStuName()+"-"+"addr:"+s.getAddress().getCity());
		}
	}
	/** 删除指定列为指定值的记录; */
	@Test public void testDeleteByField() {
		manager.deleteByField("stuName", "彬");
	}
	/**  修改 stuName  */
	@Test public void testReplaceName() {
		manager.update("彬彬","彬");
	}
}

 9.over!

在javaeye做笔记可真不错!

 

(6):单相三绕组变压器的拉氏变换数学模型和仿真模型 本节详细推导了基于耦合电路的单相三绕组变压器考虑铁心损耗情况下的拉普拉斯变换数学模型,并据此用Matlab/Simulink的传递函数模块搭建了相应的仿真模型,仿真结果表明所建立的数学模型和仿真模型都是正确的。本文的贡献是建立了考虑铁心损耗的单相三绕组变压器基于拉氏变换象函数的数学模型,为使用Simulink传递函数模块实现单相三绕组变压器的仿真模型提供了一条途径,所采用的建模方法和技巧具有启发作用,值得借鉴。 阅读详情

相关推荐

ESP32小车DIY:从零搭建无线遥控智能车(附完整代码与避坑指南)

本文详细介绍了如何从零开始DIY一台基于ESP32的无线遥控智能小车。内容涵盖核心硬件选型、电路设计、低延迟ESP-NOW无线通信协议的配置与实战,以及双电机差速控制算法与PWM调速的实现。文章提供了完整的代码示例和关键的避坑指南,旨在帮助开发者快速构建稳定可靠的智能车平台,并为进一步的功能扩展奠定基础。

gamma的博客 471

hibernate的Many2One、Many2Many等的使用

hibernate的Many2One/One2Many/Many2Many的探究

u011526599的专栏 3370

Tailscale 自建 DERP 中继服务器

Tailscale自建DERP中继服务器

Accompagner的博客 4338

hibernate之5.many2one单向

关系数据库表间关系: 1 对 1  1 对 多 多 对 多 表间关系设计 基于主键关联 基于外键关联 基于中间表 1 对 1关系实现: 基于主键关联 基于外键关联 基于中间表   1 对 多关系实现: 基于外键关联 基于中间表 多 对 多关系实现: 基于中间表 面向对象实体关系 1

我本颠坤 1388

手把手教你用闲置安卓手机+蓝鲸支付,零成本搞定个人项目自动收款(附私有化部署教程)

本文详细介绍了如何利用闲置安卓手机和蓝鲸支付系统,零成本搭建个人项目自动收款解决方案。通过私有化部署教程,读者可以学习到从手机选择、系统配置到支付渠道对接的全流程,实现安全、高效的收款系统,特别适合个人开发者和小型项目使用。

weixin_29597551的博客 335

微信小程序 - 实现客户支付订单连接小票打印机自动打印订单小票功能,微信小程序如何对接小票打印机自动打印小票,小程序收到新订单的时候可以联动商家打印出小票/单据/标签/发货单/电子面单等(详细教程)

微信小程序调用小票打印机,小程序接单后小票机自动打印订单,微信小程序云开发订单微信支付与小票和标签打印的完整高效流程,如何实现微信订单连接小票打印机并自动接单打印,微信小程序连接打印机打印单据小票打印,微信小程序云开发调用小票打印机实现方案,微信小程序怎么配置小票打印机,微信支付电子小票,外卖小程序实战-接单后小票机自动打印订单,微信小程序连接蓝牙打印小票,打印购物小票,调用小票打印机打印小票,微信订单如何连接小票打印机并实现自动接单打印,实现微信订单连接小票打印机并自动接单打印,微信小程序小票打印机打印教

🏆 前端领域优质创作者 1万+

hibernate之many2one

&lt;a href="http://count.chanet.com.cn/click.cgi?a=434621&amp;d=89940&amp;u=&amp;e=" target="_blank"&gt;&lt;IMG SRC="http://file.chanet.com.cn/image.cgi?a=434621&amp;d=89940&amp;u=&amp;e="

183

使用AI预测彩票的架构思路

彩票是随机的数字游戏,不要过度依赖AI,本文仅供娱乐研究

淘淘小窝 9410

hibernate One2Many级联增删改查

环境:maven普通项目 项目结构 1 pom.xml 4.0.0 com.mycompany learHibernate 0.0.1-SNAPSHOT org.hibernate hibernate-core 4.3.8.Final mysql mysql-connect

david的专栏 2218

Android 15.0 app进程保活白名单功能实现

在15.0的系统rom产品开发中,在某些重要的app即使进入后台,产品需求要求也不想被系统杀掉进程,需要app长时间保活,就是app进程保活白名单功能的实现, 所以需要在系统杀进程的时候不杀掉白名单的进程,接下来就看怎么样来实现这些功能

安卓兼职framework和app工程师的博客 639

【WRF-Urban数据集】中国60个城市的1 km分辨率城市冠层参数(UCPs)

中国60个城市的1 km分辨率城市冠层参数(UCPs)

WW、forever的博客 1068

【SSH商城】--- Hibernate 的many-to-one;one-to-many;many-to-many

虽然我已经敲过SSH了,可是感觉还是心里面空空的,这不,前两天就有几个同学问我给他们挑错,结果就没有调出来,丢脸啊,所以就捡着零碎时间,好好的总结一下把,就当是给以后面试做准备了!      开始咱们的主题: 1、many-to-one:      描述多对一的一种数据模型,它指定many一方是不能独立存在的。通过many- to - one 的标签,我们可以定义一种多对一的联系

My Devil's Cry 1371

5、基于模型的系统工程(MBSE)全面解析

本文全面解析了基于模型的系统工程(MBSE),介绍了模型在系统工程中的核心地位,以及如何通过视图和符号表示法实现信息的可视化。文章还详细阐述了MBSE的方法构成,包括框架(本体和视图点)和流程集,探讨了MBSE的实施流程、关键要素、应用策略以及未来发展趋势。通过合理应用MBSE,组织可以提高系统开发的效率和质量,降低成本与风险,实现成功部署。

nft7creator的博客 127

Hibernate通过many-to-one元素的一对一映射

在这里,我们将通过多对一的many-to-one元素进行一对一的映射。在这种情况下,在主表中创建外键。在这个例子中,一个员工只能有一个地址,一个地址只能属于一个员工。在这里使用双向关联。我们来看看持久化类。

unber的博客 1186

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

hibernate映射文件many-to-one元素属性

many-to-one 元素属性: name:映射类属性的名字column:关联的字段class:关联类的名字cascade:设置操作中的级联策略 可选值为 all所有操作情况均进行级联、none所有操作情况均不进行级联、save-update执行save和update操作时级联、delete执行删除操作时级联fetch:设置抓取数据的策略 默认值为select序列选择抓取 可选值为join外连接抓取 update:进行update操作时是否包含此字段insert:进行insert操作时是否包含此字段pro

qwerasdf123的专栏 2万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

hibernate集合映射,one-to-many,删除集合成员

1、one方映射文件  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">     Mapping file autogenerated by MyEclipse Persistence Tools -->

joyyq的专栏 2658

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Hibernate中,One2Many和Many2One的双向映射关系的基于注解Annotation实现方式

1、在Hibernate中,One2Many和Many2One的双向映射关系的基于注解Annotation实现方式 2、在双向映射的时候      2.1  一的一方并不需要去保存多的一方的注册关系,因为在查询的时候,会去关联查询。只要在多的一方,保存了一的一方就可以了。      2.2  在使用注解建立双向关联的时候,必须要使用mappedBy属性。      2.3  mapp

Learning 970

Hibernate中,One2Many和Many2One的双向映射关系的XML实现方式

1、在Hibernate中,One2Many和Many2One的双向映射关系的XML实现方式 2、Student.java的代码 public class Student { private int id; private int age; private String name; // 持有多的一方为外键 private ClassRoom classRoom; // se

Learning 1066

hibernate学习2之many-to-one

public class Group { private int id; private String name; //setter,getter } public class User { private int id; private String name; private Group group;//多个用户对应一个组 //setter,g

gundumw100的专栏 292

IDEA Hibernate 配置many-to-one

刚开始接触Hibernate,遇到了很多问题,也学习了IDEA很多便捷的配置方法,具体可以参看前面的博文:https://blog.youkuaiyun.com/weixin_39663138/article/details/87882776 今天开始接触Hibernate比较高级的应用,对应于DB中ER模型中各种模式。但其配置也是弄了许久,下面记录一下。 Step 1:设置数据库 在 MySQL 中新建两个...

weixin_39663138的博客 554

Hibernate 5.3 Many-To-One 多对一 Demo例

这篇文章是我写的第二篇,写的不完美的地方 请各位前辈 指出! 谢谢!   此次发布一下 自己学习Many-TO-One 的过程,中途遇到几次错误,还好自己查资料等等,解决掉。    Hibernate 版本 : 5.3.7      Mysql 版本:8.0.13     jar包已上传,点击下载Hibernate+mysql jar包    创建好Java项目,导入上面的jar包,配置...

aaBB123456798的博客 395

【java】xxx.hbm.xml文件中的many-to-one和one-to-many理解

一、前言 在前几天中自己在学习ssh的过程中,发现Hibernate需要配置一个名字叫xxx.hbm.xml的文件,这个文件主要是使用Hibernate映射到相应的表。自然在这个文件里面会有表中相应的字段的名字的映射,这些就很好解决了,但是要有外键关联的话,就要添加many-to-one和one-to-many了,刚开始的时候小编也是模棱两可,所以通过博客来总结一下。 二、说说ER图中的一对多和多...

weixin_43060102的博客 1716

hibernate one-to-many关联查询<set>中使用filter

我们将<filter-def>放在了Student的实体映射文件中,然后在College的实体映射文件<set>中引用过滤器。经过我的验证,这样也是可以的。由此可以看出:<filter-def>是一个全局效果,无论放在哪儿个实体映射文件,效果都是一样的。有一点需要特别注意:<set>的fetch有3个可选值:select、join、subselect。如果将fetch设置成join,那么过滤器失效。设置成select和subselect都是可以过滤的。

aty 4269

NHibernate----many-to-one/one-to-many/many-to/one-to-one

<br /><br />many-to-one:描述多对一的一种数据模型,它指定many一方是不能独立存在的,我个人认为many-to-one是NHB中保证数据有效性的最有用的一种映射,通过使用many-to-one能有效的防治孤儿记录被写入到数据表中。在本文描述的例子中,Student类和Classes类之间是多对一关系.<br /><br />  通过many-to-one元素,可以定义一种常见的与另一个持久化类的关联。这种关系模型是多对一关联。(实际上是一个对象引用。)在映射文件中用many-to-o

芒果.net 779

mysql many to one_Hibernate通过many-to-one元素的一对一映射

在hibernate中我们可以通过两种方式来执行一对一映射:通过many-to-one元素标签通过one-to-one元素标签在这里,我们将通过多对一的many-to-one元素进行一对一的映射。 在这种情况下,在主表中创建外键。在这个例子中,一个员工只能有一个地址,一个地址只能属于一个员工。 在这里使用双向关联。 我们来看看持久化类。一对一映射示例创建一个名称为:onetoonemappingf...

weixin_39621860的博客 214

Hibernate One2Many映射关系

多对一映射与一对多映射: 使用部门和员工的关系来说明问题.一个部门可以有多个员工,但是一个员工只属于一个部门. 开发步骤: (1)JavaBean的设计,Dept(部门表) Employee(员工表) (2)映射关系 (3)测试 1.Dept和Employee Javabean Dept package cn.itcast.one2many; import

李卫康的博客 1069
上一篇: hibernate、mysql、中文字符问题
下一篇: 一道智力测验面试题:手电筒过桥
绝尘的绝
博客等级 码龄15年 15粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值