hibernate设置数据库ID的策略.docx
- 文档编号:24022624
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:12
- 大小:16.32KB
hibernate设置数据库ID的策略.docx
《hibernate设置数据库ID的策略.docx》由会员分享,可在线阅读,更多相关《hibernate设置数据库ID的策略.docx(12页珍藏版)》请在冰豆网上搜索。
hibernate设置数据库ID的策略
1.使用uuid(使用MySQL数据库)
例子:
数据库映射文件:
packagecom.zhanghua.hibernate;
publicclassStudent{
privateStringstudentid;
privateStringname;
privateStringpasswd;
publicStringgetStudentid(){
returnstudentid;
}
publicvoidsetStudentid(Stringstudentid){
this.studentid=studentid;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPasswd(){
returnpasswd;
}
publicvoidsetPasswd(Stringpasswd){
this.passwd=passwd;
}
}
Hibernate映射文件:
Student.hbm.xml
xmlversion="1.0"?
>
DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"
--name是对应的数据库映射文件里面的定义的id号column对应的是数据库中的对应的主键的列名-->
测试类:
packagecom.zhanghua.hibernate;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
publicclassHibernateTest{
publicstaticvoidmain(String[]args){
Students=newStudent();
s.setName("zhang10");
s.setPasswd("hua10");
SessionFactorysf=newConfiguration().configure().buildSessionFactory();//如果没有改名就是这个文件用的hibernate.cfg.xml默认的文件名字
Sessionsession=sf.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
sf.close();
}
}
Hibernate的配置文件:
xmlversion='1.0'encoding='utf-8'?
>
DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD3.0//EN"
"
--Databaseconnectionsettings-->
mysql:
//localhost:
3306/hibernate
--JDBCconnectionpool(usethebuilt-in)-->
--
--SQLdialect-->
--EnableHibernate'sautomaticsessioncontextmanagement-->
--Disablethesecond-levelcache-->
--EchoallexecutedSQLtostdout-->
--Dropandre-createthedatabaseschemaonstartup-->
--
2.使用native(使用MySQL数据库)
例子:
数据库映射文件:
packagecom.zhanghua.hibernate;
publicclassTeacher{
privateintteacherid;
privateStringname;
privateStringpasswd;
publicintgetTeacherid(){
returnteacherid;
}
publicvoidsetTeacherid(intteacherid){
this.teacherid=teacherid;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPasswd(){
returnpasswd;
}
publicvoidsetPasswd(Stringpasswd){
this.passwd=passwd;
}
}
Hibernate映射文件:
Teacher.hbm.xml
xmlversion="1.0"?
>
DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"
--name是对应的数据库映射文件里面的定义的id号column对应的是数据库中的对应的主键的列名-->
测试类:
packagecom.zhanghua.hibernate;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
publicclassHibernateTest{
publicstaticvoidmain(String[]args){
Teachers=newTeacher();
s.setName("zhang10");
s.setPasswd("hua10");
SessionFactorysf=newConfiguration().configure().buildSessionFactory();//如果没有改名就是这个文件用的hibernate.cfg.xml默认的文件名字
Sessionsession=sf.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
sf.close();
}
}
Hibernate配置文件:
xmlversion='1.0'encoding='utf-8'?
>
DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD3.0//EN"
"
--Databaseconnectionsettings-->
mysql:
//localhost:
3306/hibernate
--JDBCconnectionpool(usethebuilt-in)-->
--
--SQLdialect-->
--EnableHibernate'sautomaticsessioncontextmanagement-->
--Disablethesecond-levelcache-->
--EchoallexecutedSQLtostdout-->
--Dropandre-createthedatabaseschemaonstartup-->
--
3.使用native(使用MSSqlServer数据库)
例子:
数据库映射文件:
packagecom.zhanghua.hibernate;
publicclassDog{
privateintid;
privateStringname;
privateStringpasswd;
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPasswd(){
returnpasswd;
}
publicvoidsetPasswd(Stringpasswd){
this.passwd=passwd;
}
}
Hibernate映射文件:
Dog.hbm.xml
xmlversion="1.0"?
>
DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"
--name是对应的数据库映射文件里面的定义的id号column对应的是数据库中的对应的主键的列名-->
测试类:
//此例是测试hibernate连接sqlserver2000数据库的例子
//使用native来设置id号
packagecom.zhanghua.hibernate;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
publicclassHibernateTest{
publicstaticvoidmain(String[]args){
Dogs=newDog();
s.setName("zhang10");
s.setPasswd("hua10");
SessionFactorysf=newConfiguration().configure().buildSessionFactory();//如果没有改名就是这个文件用的hibernate.cfg.xml默认的文件名字
Sessionsession=sf.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
sf.close();
}
}
Hibernate的配置文件:
xmlversion='1.0'encoding='utf-8'?
>
DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD3.0//EN"
"
--Databaseconnectionsettings-->
jtds:
sqlserver:
//127.0.0.1:
1220;DatabaseName=hibernate
--JDBCconnectionpool(usethebuilt-in)-->
--
--SQLdialect-->
--EnableHibernate'sautomaticsessioncontextmanagement-->
--Disablethesecond-levelcache-->
--EchoallexecutedSQLtostdout-->
--Dropandre-createthedatabaseschemaonstartup-->
--
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- hibernate 设置 数据库 ID 策略