26、SSH框架-Mybatis+Spring整合创建Web项目(1)
来源:互联网 发布:苹果6splus怎么开数据 编辑:程序博客网 时间:2024/06/03 11:34
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka
本文要实现使用Mybatis+spring+MySQL实现一个Web项目的整目。在Spring中配置数据源和Mybatis的SqlSessionFactory,然后在Web中的JSP中取得Spring中的bean。通过这个bean来操作Mysql中的表。网上看了好多人有写,但是要么是图没表示清楚,要么是代码没贴完。本文是一个完整的教程,照着做你也可以自己整合!
使用的版本:Mybatis-3.2.8
Spring3.2.9
Mysql5.6
开发环境: Eclipse Java EE Kepler+Win7
本文工程免费下载
一、创建Web项目并导入包
Eclipse中创建一个Web项目,导入如下的包:
这里一定要注意不能少mybatis-spring-1.2.2.jar这个包,这个包是用来联系Spring和Mybatis的,很重要!!
整个工程目录如下:
二、创建库表映射类并配置MyBatis
1、首先在数据库中创建一张表 t_user
- use test;
- DROP TABLE IF EXISTS t_user;
- create table t_user
- (
- userId int primary key auto_increment,
- userName VARCHAR(50) not null,
- userAge int not null
- );
- insert into t_user values(1,'小王',10);
- insert into t_user values(2,'红红',11);
- insert into t_user values(3,'明明',12);
- insert into t_user values(4,'天天',13);
2、表创建好之后便创建其映射类User,位于包com.mucfc.model中
- package com.mucfc.model;
- /**
- * User映射类
- * @author linbingwen
- * @time 2015.5.15
- */
- public class User {
- private Integer userId;
- private String userName;
- private int userAge;
- public Integer getUserId() {
- return userId;
- }
- public void setUserId(Integer userId) {
- this.userId = userId;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- public int getUserAge() {
- return userAge;
- }
- public void setUserAge(int userAge) {
- this.userAge = userAge;
- }
- @Override
- public String toString() {
- return "User [userId=" + userId + ", userName=" + userName
- + ", userAge=" + userAge + "]";
- }
- }
2、映射类创建好之后便创建MyBatis映射文件(即Mapper文件),位于和src同级的conf的mapper包中,文件内容如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.mucfc.mapper.UserMapper">
- <!-- 查询单条记录 -->
- <select id="selectUserById" parameterType="int" resultType="User">
- select * from t_user where userId = #{userId}
- </select>
- </mapper>
- package com.mucfc.mapper;
- import com.mucfc.model.User;
- /**
- * Mapper映射类
- * @author linbingwen
- * @time 2015.5.15
- */
- public interface UserMapper {
- public User selectUserById(int userId);
- }
- package com.mucfc.dao;
- import com.mucfc.model.User;
- /**
- * DAO接口层
- * @author linbingwen
- * @time 2015.5.15
- */
- public interface UserDao {
- /**
- * 根据用户ID查询用户信息
- * @param id
- * @return
- */
- public User findUserById(int id);
- }
- package com.mucfc.dao;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import com.mucfc.mapper.UserMapper;
- import com.mucfc.model.User;
- /**
- * DAO实现层
- * @author linbingwen
- * @time 2015.5.15
- */
- @Component
- public class UserDaoImpl implements UserDao{
- @Autowired
- private UserMapper userMapper;
- @Override
- public User findUserById(int id) {
- User user = userMapper.selectUserById(id);
- return user;
- }
- }
5、在conf里配置Mybatis的配置文件:
MyBatisConf.xmll放在conf里,注意路径
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
- <configuration>
- <!-- 配置映射类的别名 -->
- <typeAliases>
- <typeAlias alias="User" type="com.mucfc.model.User"/>
- </typeAliases>
- <!-- 配置Mapper文件的路径 -->
- <mappers>
- <mapper resource="mapper/UserMapper.xml"/>
- </mappers>
- </configuration>
如果不与Spring进行整合的话,此配置文件还需要配置数据源信息,与Spring整合之后数据源就配置在Spring配置文件中,只需要配置映射文件的路径就可以了。
三、配置Spring
1、在WEB-INF里配置Spring的配置文件:
SpringConf.xml放在WEB-INF里,注意路径
- <?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"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.0.xsd">
- <!-- 配置数据源 -->
- <bean id="dataSource"
- class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <property name="driverClassName" value="com.mysql.jdbc.Driver" />
- <property name="url" value="jdbc:mysql://localhost:3306/test" />
- <property name="username" value="root" />
- <property name="password" value="christmas258@" />
- </bean>
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
- <property name="dataSource" ref="dataSource" />
- <!-- <property name="mapperLocations" value="conf/mapper/UserMapper.xml"/> -->
- <property name="configLocation" value="conf/MyBatisConf.xml" />
- <!-- <property name="typeAliasesPackage" value="com.tiantian.ckeditor.model"
- /> -->
- </bean>
- <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
- <property name="mapperInterface"
- value="com.mucfc.mapper.UserMapper" />
- <property name="sqlSessionFactory" ref="sqlSessionFactory" />
- </bean>
- <!-- 自动扫描注解的bean -->
- <context:component-scan base-package="com.mucfc.dao" />
- </beans>
2、web.xml中启动Spring
web.xml放在WEB-INF里
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <!-- 配置初始打开的页面 -->
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- <welcome-file>index.htm</welcome-file>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- <!-- Spring 容器加载 -->
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/SpringConf.xml</param-value>
- </context-param>
- </web-app>
3、读取bean,进行查找
在index.jsp中设置如下:
index.jsp放置在WebContent中
- <%@ page import="com.mucfc.dao.UserDao"%>
- <%@page import="org.springframework.web.context.WebApplicationContext"%>
- <%@page
- import="org.springframework.web.context.support.WebApplicationContextUtils"%>
- <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <title>Insert title here</title>
- </head>
- <body>
- <center>
- 欢迎<br/>
- <%
- WebApplicationContext wac = WebApplicationContextUtils
- .getWebApplicationContext(this.getServletContext());
- UserDao userDao = (UserDao) wac.getBean("userDaoImpl");
- %>
- <%=userDao.findUserById(1)%><br />
- <%=userDao.findUserById(2)%><br />
- <%=userDao.findUserById(3)%><br />
- <%=userDao.findUserById(4)%><br />
- </center>
- </body>
- </html>
四、运行
1、以run on server运行
2、浏览器输入:http://localhost:8080/MybatisLearningChapter5/
结果如下:
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka
本文工程免费下载
- 26、SSH框架-Mybatis+Spring整合创建Web项目(1)
- Mybatis+Spring整合创建Web项目
- Mybatis+Spring整合创建Web项目
- Mybatis+Spring整合创建Web项目
- IntelliJ IDEA下SSM框架整合、创建Maven项目流程(Spring + SpringMVC + MyBatis)
- Eclipse Maven建web项目 与SSM三大框架整合教程(Spring+SpringMVC+MyBatis)
- Eclipse Maven建web项目 与SSM三大框架整合教程(Spring+SpringMVC+MyBatis)
- Eclipse Maven建web项目 与SSM三大框架整合教程(Spring+SpringMVC+MyBatis)
- [框架整合]spring+springmvc+mybatis(1)
- SSH框架整合web项目演示
- ssh框架整合项目struts2、spring、hibernate
- Spring+SpringMVC+MyBatis 整合(一)(Maven项目创建)
- SpringMVC创建web项目基础之(二)——Spring MVC与Mybatis整合详解
- (spring mvc+spring+Mybatis)框架整合
- Mybatis框架开发-Maven创建web项目
- MyBatis-Spring框架整合
- JAVA WEB搭建Spring mvc+Spring+MyBatis整合框架
- 框架 day37 Spring事务管理,整合web,SSH整合,SSH整合注解
- Android产品研发(三)-->基类Activity
- 深度学习-自然语言模型
- RabbitMQ-三、Java使用--2、发布/订阅
- 更精确的使用浮点型
- 被说了很多遍的设计模式---抽象工厂模式
- 26、SSH框架-Mybatis+Spring整合创建Web项目(1)
- ContentProvider 内容提供者
- html只允许输入的数据校验,只允许输入字母汉字数字等
- matlab矩阵表示与操作
- Redis系列~Sentinel使用(二十二)
- Arrays
- 5.IDA-文本搜索、二进制搜索(16进制字节序列)、替换16进制
- 使用echarts动态加载数据
- Ubuntu实现划词翻译