[置顶] Spring+SpringMVC+Mybatis+Mysql整合实例
标签: SpringSpringMVCMybatisMysql整合
2015-05-17 18:06 2183人阅读 评论(10) 收藏 举报
分类:
Spring(24)
版权声明:本文为博主林炳文Evankaka原创文章,转载请注明出处blog.csdn/evankaka
目录(?)[+]
林炳文Evankaka原创作品。转载请注明出处blog.csdn/evankaka
本文要实现Spring+SpringMVC+Mybatis+Mysql的一个整合,实现了SpringMVC控制访问的页面,将得到的页面参数传递给Spring中的Mybatis的bean类,然后查Mysql数据的功
能,并通过JSP显示出来。建议可以先看笔者另一文章Mybatis与Spring整合创建Web项目 。笔者觉得整合过程中问题比较多的还是Spring+Mybatis的整合,SpringMVC的整合还是比较简单。
Spring
Spring 是一个开源框架, Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。 Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。 简单来说, Spring 是一个轻量级的控制反转( IoC )和面向切面( AOP )的容器框架。
SpringMVC
Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。 Spring MVC 分离了 控制器 、模型 对象 、分派器以及处理程序对象的角,这种分离让它们更容易进行定制。
Spring 是一个开源框架, Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。 Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。 简单来说, Spring 是一个轻量级的控制反转( IoC )和面向切面( AOP )的容器框架。
SpringMVC
Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。 Spring MVC 分离了 控制器 、模型 对象 、分派器以及处理程序对象的角,这种分离让它们更容易进行定制。
MyBatis
MyBatis 本是 apache 的一个开源项目 iBatis , 2010 年这个项目由 apache software foundation 迁移到了 google code ,并且改名为 MyBatis 。 MyBatis 是一个基于 Java 的 持久层 框架。 iBATIS 提供的 持久层 框架包括 SQL Maps 和 Data Access Objects ( DAO ) MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。 MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs ( Plain Old Java Objects ,普通的 Java 对象)映射成数据库中的记录。
MyBatis 本是 apache 的一个开源项目 iBatis , 2010 年这个项目由 apache software foundation 迁移到了 google code ,并且改名为 MyBatis 。 MyBatis 是一个基于 Java 的 持久层 框架。 iBATIS 提供的 持久层 框架包括 SQL Maps 和 Data Access Objects ( DAO ) MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。 MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs ( Plain Old Java Objects ,普通的 Java 对象)映射成数据库中的记录。
使用的版本:Mybatis-3.2.8
Spring3.2.9
SpringMVC 3.2.9
Mysql5.6
开发环境: Eclipse Java EE Kepler+Win7
本文工程免费下载
spring ioc注解一、创建Web项目
最终整个工程目录如下:
需要导入的包
二、创建库表映射类并配置MyBatis
1、首先在数据库中创建一张表 t_user
[sql] view plain copy
1 use test;
2 DROP TABLE IF EXISTS t_user;
3 create table t_user
4 (
5 userId int primary key auto_increment,
6 userName VARCHAR(50) not null,
7 userAge int not null
8 );
然后插入4条数据:
[sql] view plain copy
9 insert into t_user values(1,'小王',10);
10 insert into t_user values(2,'红红',11);
11 insert into t_user values(3,'明明',12);
12 insert into t_user values(4,'天天',13);
查看下结果:
2、表创建好之后便创建其映射类User,位于包del中[java] view plain copy
13 package del;
14 /**
15 * User映射类
16 * @author linbingwen
17 * @time 2015.5.15
18 */
19 public class User {
20 private Integer userId;
21 private String userName;
22 private int userAge;
23 public Integer getUserId() {
24 return userId;
25 }
26 public void setUserId(Integer userId) {
27 this.userId = userId;
28 }
29 public String getUserName() {
30 return userName;
31 }
32 public void setUserName(String userName) {
33 this.userName = userName;
34 }
35 public int getUserAge() {
36 return userAge;
37 }
38 public void setUserAge(int userAge) {
39 this.userAge = userAge;
40 }
41 @Override
42 public String toString() {
43 return "User [userId=" + userId + ", userName=" + userName
44 + ", userAge=" + userAge + "]";
45 }
46
47 }
2、映射类创建好之后便创建MyBatis映射文件(即Mapper文件),位于和src同级的conf的mapper包中,文件内容如下:[html] view plain copy
48 <?xml version="1.0" encoding="UTF-8"?>
49 <!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN"
50 "/dtd/mybatis-3-mapper.dtd">
51 <mapper namespace="com.mucfc.mapper.UserMapper">
52 <!-- 查询单条记录 -->
53 <select id="selectUserById" parameterType="int" resultType="User">
54 select * from t_user where userId = #{userId}
55 </select>
56 </mapper>
3、创建映射UserMapper类如下,位于包com.mucfc.mapper中[java] view plain copy
57 package com.mucfc.mapper;
58
59 import del.User;
60 /**
61 * Mapper映射类
62 * @author linbingwen
63 * @time 2015.5.15
64 */
65 public interface UserMapper {
66 public User selectUserById(int userId);
67
68 }
4、创建操作数据的DAO层[java] view plain copy
69 package com.mucfc.dao;
70
71 import del.User;
72 /**
73 * DAO接口层
74 * @author linbingwen
75 * @time 2015.5.15
76 */
77 public interface UserDao {
78 /**
79 * 根据用户ID查询用户信息
80 * @param id
81 * @return
82 */
83 public User findUserById(int id);
84 }
然后是对应的实现层[java] view plain copy
85 package com.mucfc.dao;
86
87 import org.springframework.beans.factory.annotation.Autowired;
88 import org.springframework.stereotype.Component;
89 import com.mucfc.mapper.UserMapper;
90 import del.User;
91 /**
92 * DAO实现层
93 * @author linbingwen
94 * @time 2015.5.15
95 */
96 @Component
97 public class UserDaoImpl implements UserDao{
98 @Autowired
99 private UserMapper userMapper;
100 @Override
101 public User findUserById(int id) {
102 User user = userMapper.selectUserById(id);
103 return user;
104 }
105
106 }
5、在conf里配置Mybatis的配置文件:
ll放在conf里,注意路径
[java] view plain copy
107 <?xml version="1.0" encoding="UTF-8"?>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论