创建第一个hibernate程序
2017-06-28 18:44
369 查看
创建第一个hibernate程序
hibernate工作原理
1、创建一个Java项目名为:Hibernate_0_HelloWorld
2、学习建立User-library并导入相应的jar包
3、引入MySQL的jdbc驱动包
4、在MySQL中建立相对应的数据库及表
5、建立hibernate配置文件hibernate.cfg.xml:
6、建立Student类:
7、建立Student映射文件Student.hbm.xml:
8、将映射文件加入到hibernate.cfg.xml中就是在hibernate.cfg.xml中的最后一句话:
MySQL创建名student的数据表:
插入第一条数据:
注意,在创建数据表的时候要设置主键为auto_increment 同时还要在MySQL中通过命令行插入第一条数据,否则在hibernate中会产生tb_id无默认值的错误
上面执行的是具有查询功能的hibernate,
现在修改成具有添加操作功能的hibernate:
只需要修改Test.java 中的代码:
运行后的结果:
hibernate工作原理
1、创建一个Java项目名为:Hibernate_0_HelloWorld
2、学习建立User-library并导入相应的jar包
3、引入MySQL的jdbc驱动包
4、在MySQL中建立相对应的数据库及表
5、建立hibernate配置文件hibernate.cfg.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name ="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url"><![CDATA[jdbc:mysql://localhost:3306/cncode?useUnicode=true&characterEncoding=utf8]]></property> <property name="connection.username">root</property> <property name = "connection.password">123</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name ="show_sql">true</property> <mapping resource="com/st/Student.hbm.xml"/> </session-factory> </hibernate-configuration>
6、建立Student类:
package com.st; public class Student { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
7、建立Student映射文件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.0dtd"> <hibernate-mapping> <class name="com.st.Student" table="student"> <id name="id" column="tb_id"> <generator class="native"/> </id> <property name="name" column="tb_name"></property> </class> </hibernate-mapping>
8、将映射文件加入到hibernate.cfg.xml中就是在hibernate.cfg.xml中的最后一句话:
<mapping resource="com/st/Student.hbm.xml"/>``` 9、写测试类Main,在Main中对Student对象进行直接的存储测试:``` package com.test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import com.st.Student; public class Test { public static void main(String[] args){ Session session =null; Configuration cfg= new Configuration(); SessionFactory fc = cfg.configure().buildSessionFactory(); session=fc.openSession(); session.beginTransaction(); Student s= new Student(); s.setName("lun"); session.save(s); session.getTransaction().commit(); } }
MySQL创建名student的数据表:
create table student(tb_id int primary key auto_increment,tb_name varchar(20));
插入第一条数据:
insert into student(tb_id,tb_name) values(1,"lun");
注意,在创建数据表的时候要设置主键为auto_increment 同时还要在MySQL中通过命令行插入第一条数据,否则在hibernate中会产生tb_id无默认值的错误
上面执行的是具有查询功能的hibernate,
现在修改成具有添加操作功能的hibernate:
只需要修改Test.java 中的代码:
package com.test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import com.sg.Grade; import com.st.Student; public class Test { public static void main(String[] args){ Session session =null; Configuration cfg= new Configuration(); SessionFactory fc = cfg.configure().buildSessionFactory(); session=fc.openSession(); session.beginTransaction(); Grade g = new Grade(); g.setClassname("语文"); Student s = (Student)session.get(Student.class, new Integer("1")); g.setStudentid(s); session.save(g); session.getTransaction().commit(); session.clear(); /*Grade g = (Grade)session.get(Grade.class, new Integer("13")); System.out.println("学科号:"+ g.getClassid()); System.out.println("学科名:"+ g.getClassname()); System.out.println("学生名: "+g.getStudentid().getName() ); */ } }
运行后的结果:
相关文章推荐
- 创建第一个hibernate程序
- 调通了第一个Hibernate程序
- Hibernate入门02 - 第一个Hibernate程序
- 使用myeclipse开发第一个hibernate程序
- C#基础谈(二)---- 创建第一个C#程序
- AIR中文帮助 第四章 用Flex Builder创建第一个Flex AIR程序
- Hibernate入门02 - 第一个Hibernate程序
- 如何创建你的第一个iPhone程序
- 编写你的第一个Hibernate程序 (在Hibernate中使用oracle的sequence产生主键 )
- 使用Flex Builder3创建第一个AIR程序
- 我的第一个hibernate程序
- Hibernate入门02 - 第一个Hibernate程序
- 本人第一个能成功运行的hibernate程序
- 调通了第一个Hibernate程序
- 编写你的第一个Hibernate程序 (在Hibernate中使用oracle的sequence产生主键 )
- C# 学习笔记 -- 第一天 创建第一个程序
- 创建第一个AJAX程序
- 创建我们的第一个程序
- 第一个Hibernate程序
- 创建第一个WCF程序