idea功能简单,最大化的实现傻瓜式操作,不需要像eclipse一样手敲代码,尤其是在创建主键多个或者主键映射时。
(1)首先,idea创建复合主键映射时,需要先从数据库建表
![0684fa4f6096d61ce3990484deec2ca3.png](https://i-blog.csdnimg.cn/blog_migrate/51cf1b4ac5a268ff7bcd36aebe43fc7c.jpeg)
(2).idea直接根据数据库中的表创建pojo类,两个xml配置文件。
不过,复合主键映射的hbm.xml配置文件及其pojo类与单一的主键表形成的这两样东西不一样。
首先,配置文件是这样色的:
![f0db3243b760920547d1063147ccb595.png](https://i-blog.csdnimg.cn/blog_migrate/daaae5d79024b2680bf095c280f41659.jpeg)
其次要产生两个pojo类,一个是主键映射类:
![370b72b6e2fd71b4be9553bffbb22a35.png](https://i-blog.csdnimg.cn/blog_migrate/488d7917949a3977f356d2b9c80057a7.jpeg)
一个是普通pojo类:
![62fdcd3cb49da66173eb799b87b1e5fe.png](https://i-blog.csdnimg.cn/blog_migrate/e3b86f44d0707830ccc0f1dc3cd308c7.jpeg)
首先这两个类都是idea自动生成(框吹idea),你可以看到他们之间的联系,B图是主键类,A图是普通pojo类,
重点!!! 来了!
B图中的implement是自动生成的,但是A图的是我自己加上的,不然运行的话会报错。不信自己试试看
其次,回看一下最开始的xml配置文件图,你会发现他们之间的关系。
其实hbm.xml文件最开始的时候在
选项中是有mapping属性的,你要删掉它才能运行。
就是这个样子:
选项中是有mapping属性的,你要删掉它才能运行。 就是这个样子:
![c20c0079546789fcbd4f06a15224c0f5.png](https://i-blog.csdnimg.cn/blog_migrate/a6d41aaf89634d023e5c281523283511.jpeg)
然后在实践中main测试类中写程序测试的时候,你只需要new A图的类就行了,对这个类进行相关操作,而不需要在对B图的主键类单独去new eclipse中是先自己手写B图类在手写A图类,但是写A图类的时候类里面不会private 两个主键属性,而是private A图类的实例对象:private CjEntityPK cj; 所以这一点idea和eclipse不太一样,需要多加注意。3》》结果:
![180a9e49658ed4269710eb600a7e5318.png](https://i-blog.csdnimg.cn/blog_migrate/e909ad7a7c457bc66dfaef3efc793680.jpeg)