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>
<!-- ssh为数据库名 -->
<property name="connection.url">jdbc:mysql://localhost:3306/ssh</property>
<!-- 数据库用户名 -->
<property name="connection.username">root</property>
<!-- 数据库密码 -->
<property name="connection.password">123456</property>

<!-- 方言 -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

<!-- SQL -->
<property name="show_sql">true</property>
<!--在log和console中打印出更漂亮的SQL语句 -->
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property>

<!-- 取消Bean校验 -->
<property name="javax.persistence.validation.mode">none</property>
<!-- 整合c3p0 -->
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>

<!-- 添加映射文件 -->
<mapping resource="zq/ssh/domain/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
applicationContext.xml
<?xml version="1.0" encoding="utf-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd">
        
  <!-- 配置SessionFactory -->
  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <!-- 加载Hibernate核心配置文件 -->
  <property name="configLocation" value="hibernate.cfg.xml"></property>
  </bean>
 
  <!-- 配置Hibernate模板 -->
  <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
  <property name="sessionFactory" ref="sessionFactory"></property>
  </bean>
 
  <!-- 配置Dao -->
  <bean id="userDao" class="zq.ssh.dao.impl.UserDaoImpl">
  <property name="hibernateTemplate" ref="hibernateTemplate"></property>
 
  </bean>
 
  <!-- 配置Service -->
  <bean id="userService" class="zq.ssh.service.impl.UserServiceImpl">
  <property name="userDao" ref="userDao"></property>
  </bean>
 
</beans>
测试方法package zq.ssh.test;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import zq.ssh.domain.User;
import zq.ssh.service.UserService;public class TestApp {

public static void test(){
User user = new User();
user.setUsername("ss");
user.setPassword("123456");
String xmlPath="applicationContext.xml";
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
UserService userService = (UserService)applicationContext.getBean("userService",UserService.class);
userService.saveUser(user);
System.out.println(user);
}
public static void main(String[] args) {
test();
}
}
运行结果数据库结果

项目结构求各位大佬帮忙解决一下,谢谢!

解决方案 »

  1.   

    Id是自增长的嘛?user和userservice代码是什么?
      

  2.   

    id是自增的UserService.javapackage zq.ssh.service;import java.util.List;import zq.ssh.domain.User;public interface UserService {
    public void saveUser(User user);
    public void updateUser(User user);
    public void deleteUser(User user);
    public User findUserById(Integer id);
    public List<User> findAllUser();
    }
    UserServiceImpl.java
    package zq.ssh.service.impl;import java.util.List;import zq.ssh.dao.UserDao;
    import zq.ssh.domain.User;
    import zq.ssh.service.UserService;public class UserServiceImpl implements UserService{
    private UserDao userDao; public void setUserDao(UserDao userDao) {
    this.userDao = userDao;
    }
    public UserDao getUserDao() {
    return userDao;
    }
    public void saveUser(User user) {
    // TODO Auto-generated method stub
    this.userDao.save(user);
    } public void updateUser(User user) {
    // TODO Auto-generated method stub
    this.userDao.update(user);
    } public void deleteUser(User user) {
    // TODO Auto-generated method stub
    this.userDao.delete(user);
    } public User findUserById(Integer id) {
    // TODO Auto-generated method stub
    return this.userDao.findById(id);
    } public List<User> findAllUser() {
    // TODO Auto-generated method stub
    return this.userDao.findAll();
    }

    }
      

  3.   

    hibernate.cfg.xml里面设置<property name="connection.autocommit">true</property>
      

  4.   

    这个是事务没有提交,有没有写原始的jdbc程序啊,connection.setAutoCommit(false);然后connection.commit();上面那个属性如果不设置就相当于connection.commit()这句话没有执行