本例子为普通java项目,不是web项目
思路:
建一个和数据表对应的类取名为User,在其中定义字段。。
然后在同一个位置建对应的User.hbm.xml映射字段
在src下建UserDAOImp接口和UserDao其中是数据库操作
public class UserDao extends HibernateDaoSupport implements UserDaoImpl {
public void insertUser(User user) {
this.getHibernateTemplate().save(user);
}
在spring的配置文件 bean.xml中
配置datasource---->sessionFactory(datasource为参数)-------->配置UserDao(sessionfactory 为参数)
Hibernate的连接,事务的管理等都有配置sessionfactory开始
在测试方法中和正常的一样,加载bean.xml,拿到Userdao ,然后调用Userdao中的数据库操作方法
---------------------------------------------------------------------------------------------------实现如下
package Dao;
public class User {
private String name;
public User() {
}
public User(String name, String password) {
super();
this.name = name;
this.password = password;
}
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
--------------------------------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="Dao">
<class name="User" table="user">
<id name="name" column="name">
<generator class="assigned" />
</id>
<property name="password" column="password" not-null="true"
/>
</class>
</hibernate-mapping>
-------------------------------------------------------------------
package Dao;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class UserDao extends HibernateDaoSupport implements UserDaoImpl {
public void insertUser(User user) {
this.getHibernateTemplate().save(user);
}
}
----------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="jdbc" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" > 引入外部文件配置datasource
<property name="locations" value="jdbc.properties"/>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${jdbc.driverClassName}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>
<bean id="sessionFactory" //配置sessionfactory 注入datasource
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources"> //引入hibernate的映射文件
<value>Dao/User.hbm.xml</value>
</property>
</bean>
<bean id="userdao" class="Dao.UserDao">
<property name="sessionFactory" ref="sessionFactory"></property> 注入sessionfactory
</bean>
<!-- <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
<bean id="userdao" class="Dao.UserDao">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean> -->
</beans>
---------------------------------------------------------------------------------------------------------------------
package test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import Dao.User;
import Dao.UserDao;
public class Main {
public static void main(String[] args) {
ApplicationContext ac=new ClassPathXmlApplicationContext("bean.xml");
UserDao userdao=(UserDao) ac.getBean("userdao");
User user=new User();
user.setName("xixi");
user.setPassword("1110000");
userdao.insertUser(user);
System.out.println("添加成功!");
}
}