简单Hibernate
1. 数据库建好表
drop table student;
create table student (id int primary key, name varchar(30),age int,class varchar(30));
insert into student values(1,'zhang1',12,'one');
insert into student values(2,'zhang2',13,'one');
insert into student values(3,'zhang3',14,'one');
insert into student values(4,'zhang4',15,'one');
insert into student values(5,'wang1',12,'two');
insert into student values(6,'wang2',13,'two');
insert into student values(7,'wang3',14,'two');
insert into student values(8,'wang4',12,'two');
insert into student values(9,'wang5',12,'two');
drop table course;
create table course (id int primary key, name varchar(30),days int);
insert into course values(1,'Chinese',30);
insert into course values(2,'Math',30);
insert into course values(3,'English',20);
drop table stu_course;
create table stu_course (student int,course int);
insert into stu_course values(1,2);
insert into stu_course values(2,2);
insert into stu_course values(3,2);
insert into stu_course values(4,1);
insert into stu_course values(1,1);
insert into stu_course values(2,1);
insert into stu_course values(3,1);
2. java类
package com.learn.hibernate.dto;
public class Student {
private int id;
private String name;
private int age;
private String _class;
/**
* @return the id
*/
public int getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(int id) {
this.id = id;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the age
*/
public int getAge() {
return age;
}
/**
* @param age the age to set
*/
public void setAge(int age) {
this.age = age;
}
/**
* @return the _class
*/
public String get_class() {
return _class;
}
/**
* @param _class the _class to set
*/
public void set_class(String _class) {
this._class = _class;
}
}
3. Test类
package com.learn.hibernate;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.learn.hibernate.dto.Student;
public class Test {
public static void main(String[] args) {
try {
SessionFactory sf = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
for (int i = 0; i < 20; i++) {
Student customer = new Student();
customer.setAge(20);
customer.setName("Li2");
customer.set_class("three");
session.save(customer);
}
tx.commit();
session.close();
} catch (HibernateException e) {
e.printStackTrace();
}
}
}
4. 映射文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.learn.hibernate.dto.Student" table="student">
<id name="id" column="ID">
<generator class="increment" />
</id>
<property name="name" column="NAME" />
<property name="age" column="AGE" />
<property name="_class" column="CLASS" />
</class>
</hibernate-mapping>
总结:
最简单的
1.表2.类3.映射文件4.Test类
附加1. Action service dao的关系
Action接到请求,调用service中的方法得到数据,set回request,返回页面。
service中,调用dao的一个或多个方法得到结果返回给action。
dao中是查询数据库的方法,全是执行SQL语句,没有别的方法。
dao的分类:
1. 一种是一个表对应一个dao,包含CRUD方法。
这样一个service可能要包含多个dao,而且关系多个表的方法不知道是要写在这个dao里好呢还是那个dao里好呢。
2. 另一种是一个service对应一个dao,要什么就写什么。
这样就有可能多个dao里写同样的方法,都是从一个表里查个什么东西。
3. 再另一种就是一个表对应一个dao,有务需要多表的再对应业务单写dao。
这样dao就比较多。
分享到:
相关推荐
SSH整合学习笔记之spring与hibernate简单整合的源码---对应我的博客文章 http://blog.csdn.net/wanghantong/article/details/6653482
好久不弄web了, 周末心血来潮, 使用较新spirng/hibernate搭建一个ssh框架, 供有需要的同学参考/学习/使用. 使用eclipse开发, 搭建,分三步: ①(在一个dynamic web工程上)整合springMVC; ② 整合spring; ③ 整合...
struts2+hibernate+spring开发的项目,含项目集成和一些简单的增删改查,是初学者的首选。
{1.11}简单算法}{38}{section.1.11} {1.11.1}打乱算法}{38}{subsection.1.11.1} {1.11.2}排序算法}{38}{subsection.1.11.2} {1.11.2.1}选择排序}{38}{subsubsection.1.11.2.1} {1.11.2.2}冒泡排序}{39}{...
属于一个类似于CSDN或者ITeye论坛的IT技术学习交流论坛,界面简单清爽,易于操作。 毕业设计是高等教育阶段学生在完成学业前所进行的一项重要学术任务,旨在检验学生通过学习所获得的知识、技能以及对特定领域的...
本项目是一套基于SSH的银行客户关系管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目...
本项目是一套基于SSH的dang员管理系统(关键字被和谐了^_^),主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为...
第三课:模拟Spring功能 5 第四课:搭建sping的运行环境 8 一、 建立一个新的项目 8 二、 建立spring的配置文件 8 三、 引入spring的jar包 8 四、 测试代码: 8 五、 注意接口的使用: 8 第五课:IOC(DI)配置及应用 ...
通过程序能实现往数据库中增加记录。 (4)数据查询。通过各种查询组合实现对数据的精确选取。 (5)数据维护。包括对数据的修改及删除操作。 主要特点 1、实现学生选课成绩信息管理的基本要求,对学生学习进行...
第三课:模拟Spring功能 5 第四课:搭建sping的运行环境 8 一、 建立一个新的项目 8 二、 建立spring的配置文件 8 三、 引入spring的jar包 8 四、 测试代码: 8 五、 注意接口的使用: 8 第五课:IOC(DI)配置及应用 ...
本项目是一套基于SSH的网上银行系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过...
JPA(Hibernate数据库CRUD),Mybatis(数据库CRUD),Mybatis(Mybatis数据库CRUD),thymeleaf(模板解析),beetl(模板解析),freemarker (模板解析),enjoy(模板解析),并包含一些整合多个功能模块的090-...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
要基于目前流行的,扩展性、兼容性强的 SSH(Struts+Spring+Hibernate)通用开发框架;系统全面支持B/S结构,客户端支持IE6.0/7.0/8.0。 系统可靠性 系统部署时应充分考虑关键内容数据的冗余备份,保证系统在发生...
笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此...