A-A+
SpringMVC4使用Hibernate4操作数据库
上一篇文章介绍了如何构建一个基础的SpringMVC4项目,本篇文章就介绍一下如何使用Hibernate4操作数据库。
首先创建必须的页面文件、接口和类,创建完毕后工程结构如下图:
创建实体类UserInfo,因为整个工程已经开启了注解配置,所以需要注意注解的声明方式:
- @Entity
- @Table(name="UserInfo")
- public class UserInfo {
- @Id
- @GeneratedValue(generator = "paymentableGenerator")
- @GenericGenerator(name = "paymentableGenerator", strategy = "assigned")
- private String id;
- @Column(name="userName")
- private String userName;
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- }
IUserDao内添加方法:
- public interface IUserDao {
- public void save(UserInfo userInfo);
- }
UserDao是接口IUserDao的实现:
- @Component
- public class UserDao implements IUserDao {
- @Autowired
- public SessionFactory sessionFactory;
- @Override
- public void save(UserInfo userInfo) {
- // TODO Auto-generated method stub
- sessionFactory.getCurrentSession().save(userInfo);
- }
- }
添加业务逻辑接口IUserService:
- public interface IUserService {
- public void saveUser(UserInfo userInfo);
- }
实现IUserService:
- @Service
- public class UserService implements IUserService{
- @Autowired
- public IUserDao userDao;
- @Override
- public void saveUser(UserInfo userInfo) {
- // TODO Auto-generated method stub
- userDao.save(userInfo);
- }
- }
最后在Controller中调用UserService:
- @Controller
- @RequestMapping(value="/")
- public class RootController {
- @Autowired
- public IUserService userService;
- @RequestMapping(value="/save",method=RequestMethod.GET)
- public ModelAndView saveUser(){
- UserInfo userInfo = new UserInfo();
- userInfo.setId("10003");
- userInfo.setUserName("zhangsan");
- userService.saveUser(userInfo);
- ModelAndView mv = new ModelAndView();
- mv.addObject("page", "this is a test");
- mv.setViewName("save");
- return mv;
- }
- }
运行后,Hibernate输出为:
数据库中已经插入了数据:
源码下载(里面所需的JAR包都给清理了,如果有需要的可以去上一篇下载,那里面是完整的):