在上一篇博客《Spring MVC 连接 MySQL 数据库 JDBC》中介绍了在 Spring MVC 中使用 JDBC 来链接数据库。JDBC 可以说是访问数据库的最原始、最直接的方法。这种方式的特点是运行效率高,而缺点是程序代码中嵌入大量的 SQL 语句,使得项目难以维护,虽然 MVC 的分层结构把数据持久层单独出来,把数据库访问操作封装起来,业务层只需调用 API 就可以了。但是,如果数据模型非常复杂,代码量较大,特别是访问字段较多的表的时候,代码显得繁琐、累赘,容易出错,就需要非常专业和有经验的开发人员来开发,还需要有足够的时间。
开发人员不是只需要专注于业务逻辑的实现吗?有没有中间件可以做这个事情呢?是的,目前已经有好多种现成的持久化中间件可以选择,有:Hiherante,TopLink,JDO等,其中 Hiberante 最受欢迎,它是基于 Java 的开发源代码的持久化中间件,对 JDBC 做了轻量级封装,不仅提供了 ORM 映射服务,还提供数据查询和缓存功能,开发人员可以方便地通过它提供的 API 来操纵数据库。大大减少了开发的工作量,降低了持久化层开发的门槛。
我们还是通过项目来学习简单的 Hiberante 链接 MySQL 数据库。可以使用上次的 spring-mvc-mysql 项目 JDBC 分支,修改 Dao 持久化层就可以了,这就是 MVC 分层结构的强大之处。
pom.xml
添加 Hiberante 所需的依赖
DataBaseConfig
添加 Hibernate 事务管理器和 SessionFactory
application.properties
添加 Hiberante 配置
Model
给 User 类添加注解,删除 UserMapper 类
Dao
创建一个 Hibernate 执行方法基础抽象类,封装了对象的增、删、查、改等操作。
修改 UserDAOImpl 类
Run
需要在 Tomcat 容器上运行,点击 Run,服务器就会启动在 http://localhost:8080 端口上。
本次项目 spring-mvc-mysql 的项目代码已经放在 github 上,有需要的同学可以下载查看。地址: https://github.com/aidansu/spring-mvc-mysql/tree/Hibernate 分支 Hiberante
完!