hibernate_集成spring

本文介绍了如何在项目中使用注解的方式集成Spring和Hibernate,详细讲解了从导入依赖、配置数据源和SessionFactory,到创建实体类、DAO、Service、Controller的全过程,并提供了测试访问的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有三种方式在项目中使用hibernate,在这里使用注解的方式:

Spring集成hibernate后不再需要Hibernate.cfg.xml配置文件了。

1. 导包

引入hibernate的包:

 

以及:

 

2. 配置

 

spring的配置文件中配置数据源,及sessionFactory

<!-- 数据源 -->

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>

<property name="url" value="jdbc:mysql://localhost:3306/test"></property>

<property name="username" value="root"></property>

<property name="password" value="123456"></property>

</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

<property name="dataSource" ref="dataSource"></property>

<property name="packagesToScan" >

<list>

<value>com.glodon.po</value>

</list>

</property>

<property name="hibernateProperties">

<props>

<prop key="hibernate_show_sql">true</prop>

<prop key="hibernate_format_sql">true</prop>

<prop key="hibernate.hbm2ddl.auto">update</prop>

</props>

</property>

</bean>

其中sessionFactory中配置了需要扫的po包。

 

3. 添加user表实体对象

@Entity

@Table(name="user")

public class User implements Serializable{

private Integer ID;

private String name;

private Integer age;

private Integer height;

@Id

@GeneratedValue(strategy=GenerationType.IDENTITY)

@Column(name="ID")

public Integer getID() {

return ID;

}

public void setID(Integer iD) {

ID = iD;

}

@Column(name="name")

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@Column(name="age")

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

@Column(name="height")

public Integer getHeight() {

return height;

}

public void setHeight(Integer height) {

this.height = height;

}

}

 

4. dao

@Repository

public class UserDao {

@Resource(name="sessionFactory")

private SessionFactory sessionFactory;

   

public List<User> getAll(){

Session session = sessionFactory.openSession();

String sHql = "from User";

Query query = session.createQuery(sHql);

List<User> users = query.list();

for (User u : users) {

System.out.println(u.getID() + "===" + u.getName());

}

return users;

}

}

 

5. service

@Service

public class UserService {

@Autowired

UserDao userdao;

public List<User> getAll(){

return userdao.getAll();

}

public void save(User user){

userdao.save(user);

}

}

 

6. controller

@Controller

@RequestMapping("/user")

public class UsrController {

@Autowired

UserService userService;

@ResponseBody

@RequestMapping("/allUsers")

public String allUsers(){

List<User> users = userService.getAll();

for (User u : users) {

System.out.println(u.getID() + "===" + u.getName());

}

return "";

}

}

 

7. 测试

访问:http://localhost:8080/springMVCShare/user/allUsers

输出:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值