06_MyBatis,Spring,SpringMVC整合



  1. 项目结构

  1. Spring的配置:

beans.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:mvc="http://www.springframework.org/schema/mvc"

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-3.0.xsd

      
http://www.springframework.org/schema/mvc

      
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

      
http://www.springframework.org/schema/context

      
http://www.springframework.org/schema/context/spring-context-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/tx

      
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd "
>

<context:component-scan
base-package="com.rl"/>

<bean
id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property
name="driverClassName"
value="com.mysql.jdbc.Driver"></property>

<property
name="url"
value="jdbc:mysql://localhost:3306/mybatis"></property>

<property
name="username"
value="root"></property>

<property
name="password"
value="123456"></property>

</bean>

<!--

使用spring来管理sqlSessionFactory

-->

<bean
id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">

<property
name="configLocation"
value="classpath:sqlMapConfig.xml"></property>

<property
name="dataSource"
ref="dataSource"></property>

</bean>

<bean
id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property
name="dataSource"
ref="dataSource"></property>

</bean>

<tx:advice
id="txAdvice"
transaction-manager="txManager">

<tx:attributes>

<tx:method
name="save*"
propagation="REQUIRED"/>

<tx:method
name="update*"
propagation="REQUIRED"/>

<tx:method
name="delete*"
propagation="REQUIRED"/>

<tx:method
name="select*"
read-only="true"/>

</tx:attributes>

</tx:advice>

<aop:config>

<aop:advisor
advice-ref="txAdvice"
pointcut="execution(* com.rl.service..*.*(..))"/>

</aop:config>

</beans>

  1. springmvc.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:mvc="http://www.springframework.org/schema/mvc"

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-3.0.xsd

      
http://www.springframework.org/schema/mvc

      
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

      
http://www.springframework.org/schema/context

      
http://www.springframework.org/schema/context/spring-context-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/tx

      
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd "
>

<context:component-scan
base-package="com.rl.controller"/>

<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property
name="prefix"
value="/WEB-INF/jsp/"></property>

<property
name="suffix"
value=".jsp"></property>

</bean>

</beans>

  1. web.xml的配置内容如下:

<?xml
version="1.0"
encoding="UTF-8"?>

<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

id="WebApp_ID"
version="2.5">

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:beans.xml</param-value>

</context-param>

<servlet>

<servlet-name>springmvc</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springmvc.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

<filter>

<filter-name>SpringCharacterEncodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>SpringCharacterEncodingFilter</filter-name>

<url-pattern>*.do</url-pattern>

</filter-mapping>

</web-app>


log4j.properties


log4j.rootLogger=DEBUG,
Console

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern=%d
[%t]
%-5p
[%c]
-
%m%n

log4j.logger.java.sql.ResultSet=INFO

log4j.logger.org.apache=INFO

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

  1. sqlMapConfig.xml

<?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
type="com.rl.model.Person"
alias="person"/>

</typeAliases>

<mappers>

<mapper
resource="com/rl/mapper/PersonMapper.xml"
/>

</mappers>

</configuration>

PersonMapper.xml


<?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">

<!--

namespace:命名空间,用来唯一标识一个映射文件,命名规范就是当前的文件的包加上文件名

-->

<mapper
namespace="com.rl.mapper.PersonMapper">

<resultMap
type="person"
id="BaseResultMap">

<!--

column:库表的字段

property:库表所有映射的实体类中属性名

-->

<id
column="person_id"
property="personId"/>

<result
column="name"
property="name"/>

<result
column="gender"
property="gender"/>

<result
column="person_addr"
property="personAddr"/>

<result
column="birthday"
property="birthday"/>

</resultMap>

<!--

公用的sql片段,也可以接收参数动态sql,所有的sql可以

-->

<sql
id="columns">

PERSON_ID, NAME, GENDER, PERSON_ADDR, BIRTHDAY

</sql>

<!--

根据id来查询一个Person的数据

sql语句接收参数的一个语法#{},如果接收的是一个{}中的内容任意select
* from person_test t where t.ID = ?,使用预编译方式生成sql

id:sql语句的唯一的标识不能重复

parameterType:sql要接收的数据类型

resultType:sql所返回的数据类型

-->

<!--

实际项目中数据库的表的字段一般由多个单词来构成
由下划线来分隔多个单词 person_addr

在java的model的实体类中的属性多个单词的命名规范是驼峰模式personAddr

-->

<!--

useCache:控制当前的这个sql是否使用二级缓存

-->

<select
id="selectPersonById"
parameterType="int"
resultMap="BaseResultMap"
useCache="true">

select * from person t where t.person_id = #{id}

</select>

<!--
库表变更 -->

<insert
id="insert"
parameterType="person">

<selectKey
keyProperty="personId"
order="AFTER"
resultType="int">

select LAST_INSERT_ID()

</selectKey>

insert into person (person_id, name, gender, person_addr, birthday)

values(#{personId}, #{name}, #{gender}, #{personAddr}, #{birthday})

</insert>

<!--

删除的sql不能使用别名

-->

<delete
id="delete"
parameterType="int">

delete from person where person_id = #{personId}

</delete>

<!--
动态sql
-->

<!--

map.put("name", "安");

map.put("gender", "0");

map.put("personAddr", "东京")

map.put("birthday", new Date());

<where>会自动处理and,
第一个and可以不写,其他的and必须要写

-->

<select
id="selectPersonByCondition"
parameterType="map"
resultMap="BaseResultMap">

select * from person t

<where>

<if
test="name != null">

t.name like ‘%${name}%‘

</if>

<if
test="gender != null">

and t.gender = #{gender}

</if>

<if
test="personAddr != null">

and t.person_addr like ‘%${personAddr}%‘

</if>

<if
test="birthday != null">

<![CDATA[

and t.birthday < #{birthday}

]]>

</if>

</where>

</select>

<!--

动态修改

<set>标签可以去掉最后一个逗号

flushCache:二级缓存的刷新的配置:默认是true:会刷新,如果false就不刷新缓存

-->

<update
id="dynamicUpdate"
parameterType="person"
flushCache="false">

update person t

<set>

<if
test="name != null">

t.name = #{name},

</if>

<if
test="gender != null">

t.gender = #{gender},

</if>

<if
test="personAddr != null">

t.person_addr = #{personAddr},

</if>

<if
test="birthday != null">

t.birthday = #{birthday}

</if>

</set>

where t.person_id = #{personId}

</update>

</mapper>

6
 Person.java的内容如下:


package com.rl.model;

import java.io.Serializable;

import java.util.Date;

public class Person implements Serializable{

private static final long serialVersionUID = 7728191033619971201L;

private Integer personId;

private String name;

private String gender;

private String personAddr;

private Date birthday;

public Integer getPersonId() {

return personId;

}

public void setPersonId(Integer personId) {

this.personId = personId;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

public String getPersonAddr() {

return personAddr;

}

public void setPersonAddr(String personAddr) {

this.personAddr = personAddr;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

}


PersonDao.java


package com.rl.dao;

import java.util.List;

import java.util.Map;

import com.rl.model.Person;

public interface PersonDao {

public void save(Person person);

public Person selectPersonById(Integer personId);

public void update(Person person);

public void delete(Integer personId);

public List<Person> selectPersonByCondition(Map<String, Object> map);

}


PersonDaoImpl.java的内容如下:


package com.rl.dao.impl;

import java.util.List;

import java.util.Map;

import org.mybatis.spring.support.SqlSessionDaoSupport;

import org.springframework.stereotype.Repository;

import com.rl.dao.PersonDao;

import com.rl.model.Person;

@Repository

public class PersonDaoImpl extends SqlSessionDaoSupport implements PersonDao {

//命名空间

String ns = "com.rl.mapper.PersonMapper.";

@Override

public void save(Person person) {

this.getSqlSession().insert(ns+"insert", person);

}

@Override

public Person selectPersonById(Integer personId) {

return (Person) this.getSqlSession().selectOne(ns+"selectPersonById", personId);

}

@Override

public void update(Person person) {

this.getSqlSession().update(ns+"dynamicUpdate", person);

}

@Override

public void delete(Integer personId) {

this.getSqlSession().delete(ns+"delete", personId);

}

@SuppressWarnings("unchecked")

@Override

public List<Person> selectPersonByCondition(Map<String, Object> map) {

return this.getSqlSession().selectList(ns+"selectPersonByCondition", map);

}

}


PersonService.java


package com.rl.service;

import java.util.List;

import java.util.Map;

import com.rl.model.Person;

public interface PersonService {

public void save(Person person);

public Person selectPersonById(Integer personId);

public void update(Person person);

public void delete(Integer personId);

public List<Person> selectPersonByCondition(Map<String, Object> map);

}

10
 PersonServiceImpl.java


package com.rl.service.impl;

import java.util.List;

import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import com.rl.dao.PersonDao;

import com.rl.model.Person;

import com.rl.service.PersonService;

@Service

public class PersonServiceImpl implements PersonService {

@Autowired

private PersonDao personDao;

@Override

public void save(Person person) {

personDao.save(person);

}

@Override

public Person selectPersonById(Integer personId) {

return personDao.selectPersonById(personId);

}

@Override

public void update(Person person) {

personDao.update(person);

}

@Override

public void delete(Integer personId) {

personDao.delete(personId);

}

@Override

public List<Person> selectPersonByCondition(Map<String, Object> map) {

return personDao.selectPersonByCondition(map);

}

}

11
 PersonController.java的内容如下:


package com.rl.controller;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.propertyeditors.CustomDateEditor;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.ServletRequestDataBinder;

import org.springframework.web.bind.annotation.InitBinder;

import org.springframework.web.bind.annotation.RequestMapping;

import com.rl.model.Person;

import com.rl.service.PersonService;

@Controller

@RequestMapping("/person")

public class PersonController {

@Autowired

private PersonService personService;

/**

* 跳转到添加页面

*/

@RequestMapping("/toSave.do")

public String toSave(){

return "add";

}

/**

* 添加Person

*/

@RequestMapping("/save.do")

public String save(Person person){

personService.save(person);

return "redirect:listPerson.do";

}

/**

* 查询Person

*/

@RequestMapping("/getPerson.do")

public String getPerson(Integer personId, Model model){

Person person = personService.selectPersonById(personId);

model.addAttribute("person", person);

return "update";

}

/**

* 修改Person

*/

@RequestMapping("/update.do")

public String update(Person person){

personService.update(person);

return "redirect:listPerson.do";

}

/**

* 删除

*/

@RequestMapping("/delete.do")

public String delete(Integer personId){

personService.delete(personId);

return "redirect:listPerson.do";

}

/**

* 动态条件组合查询

*/

@RequestMapping("/listPerson.do")

public String listPerson(String name, String gender,

String personAddr, Date birthday, Model model){

Map<String, Object> map = new HashMap<String,Object>();

if(name != null && "".equals(name.trim())){

name = null;

}

if(gender != null && "".equals(gender.trim())){

gender = null;

}

if(personAddr != null && "".equals(personAddr.trim())){

personAddr = null;

}

map.put("name", name);

map.put("gender", gender);

map.put("personAddr", personAddr);

map.put("birthday", birthday);

List<Person> pList = personService.selectPersonByCondition(map);

model.addAttribute("pList", pList);

model.addAttribute("name", name);

model.addAttribute("gender", gender);

model.addAttribute("personAddr", personAddr);

model.addAttribute("birthday", birthday);

return "list";

}

@InitBinder

public void initBinder(ServletRequestDataBinder binder){

binder.registerCustomEditor(Date.class,

new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true));

}

}

12 
add.jsp


<%@
page
language="java"
import="java.util.*"
pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<%@taglib
uri="http://java.sun.com/jsp/jstl/core" 
prefix="c"%>

<%@taglib
uri="http://java.sun.com/jsp/jstl/fmt" 
prefix="f"%>

<!DOCTYPE
HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base
href="<%=basePath%>">

<title>My
JSP ‘list.jsp‘ starting page</title>

<meta
http-equiv="pragma"
content="no-cache">

<meta
http-equiv="cache-control"
content="no-cache">

<meta
http-equiv="expires"
content="0">

<meta
http-equiv="keywords"
content="keyword1,keyword2,keyword3">

<meta
http-equiv="description"
content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

<body>

<form
action="person/save.do"
method="post">

<table
width="80%"
align="center">

<tr>

<td><label>姓名:</label><input
type="text"
name="name"
></td>

<td><label>性别:</label>

<select
name="gender"
>

<option
value="">请选择</option>

<option
value="0" 
>男</option>

<option
value="1" 
>女</option>

</select>

</td>

<td><label>地址:</label><input
type="text"
name="personAddr"
></td>

<td><label>生日:</label><input
type="text"
name="birthday"></td>

<td><input
type="submit"
value="保存"></td>

</tr>

</table>

</form>

</body>

</html>

13 list.jsp


<%@
page
language="java"
import="java.util.*"
pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<%@taglib
uri="http://java.sun.com/jsp/jstl/core" 
prefix="c"%>

<%@taglib
uri="http://java.sun.com/jsp/jstl/fmt" 
prefix="f"%>

<!DOCTYPE
HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base
href="<%=basePath%>">

<title>My
JSP ‘list.jsp‘ starting page</title>

<meta
http-equiv="pragma"
content="no-cache">

<meta
http-equiv="cache-control"
content="no-cache">

<meta
http-equiv="expires"
content="0">

<meta
http-equiv="keywords"
content="keyword1,keyword2,keyword3">

<meta
http-equiv="description"
content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

<script
type="text/javascript">

     
function
delPerson(personId){

if(confirm("真删吗?")){

window.location.href="person/delete.do?personId="+personId;

}

}

</script>

</head>

<body>

<form
action="person/listPerson.do"
method="post">

<table
width="80%"
align="center">

<tr>

<td><label>姓名:</label><input
type="text"
name="name"
value="${name }"></td>

<td><label>性别:</label>

<select
name="gender"
>

<option
value="">请选择</option>

<option
value="0"
<c:if
test="${gender == ‘0‘ }">selected</c:if>
>男</option>

<option
value="1"
<c:if
test="${gender == ‘1‘ }">selected</c:if>
>女</option>

</select>

</td>

<td><label>地址:</label><input
type="text"
name="personAddr"
value="${personAddr }"></td>

<td><label>生日:</label><input
type="text"
name="birthday"
value="<f:formatDate
value="${birthday }"
pattern="yyyy-MM-dd"/>"></td>

<td><input
type="submit"
value="查询"></td>

</tr>

</table>

</form>

<table
align="center"
width="80%">

<tr>

<td><a
href="person/toSave.do">添加</a></td>

</tr>

</table>

<table
width="80%"
align="center"
border="1">

<tr>

<th>姓名</th>

<th>性别</th>

<th>地址</th>

<th>生日</th>

<th>操作</th>

</tr>

<c:forEach
items="${pList }"
var=
"person">

<tr>

<td>${person.name
}</td>

<td>

<c:if
test="${person.gender == ‘0‘ }">
男</c:if>

<c:if
test="${person.gender == ‘1‘ }">
女</c:if>

</td>

<td>${person.personAddr
}</td>

<td><f:formatDate
value="${person.birthday }"
pattern=
"yyyy-MM-dd"/>
</td>

<td><a
href="person/getPerson.do?personId=${person.personId }">修改</a>

<a
href="javascript:void(0)"
onclick="delPerson(${person.personId})">删除</a></td>

</tr>

</c:forEach>

</table>

</body>

</html>

14 update.jsp


<%@
page
language="java"
import="java.util.*"
pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<%@taglib
uri="http://java.sun.com/jsp/jstl/core" 
prefix="c"%>

<%@taglib
uri="http://java.sun.com/jsp/jstl/fmt" 
prefix="f"%>

<!DOCTYPE
HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base
href="<%=basePath%>">

<title>My
JSP ‘list.jsp‘ starting page</title>

<meta
http-equiv="pragma"
content="no-cache">

<meta
http-equiv="cache-control"
content="no-cache">

<meta
http-equiv="expires"
content="0">

<meta
http-equiv="keywords"
content="keyword1,keyword2,keyword3">

<meta
http-equiv="description"
content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

<body>

<form
action="person/update.do"
method="post">

<input
type="hidden"
name="personId"
value="${person.personId }">

<table
width="80%"
align="center">

<tr>

<td><label>姓名:</label><input
type="text"
name="name"
value="${person.name }"></td>

<td><label>性别:</label>

<select
name="gender"
>

<option
value="">请选择</option>

<option
value="0"
<c:if
test="${person.gender == ‘0‘ }">selected</c:if>
>男</option>

<option
value="1"
<c:if
test="${person.gender == ‘1‘ }">selected</c:if>
>女</option>

</select>

</td>

<td><label>地址:</label><input
type="text"
name="personAddr"
value="${person.personAddr }"></td>

<td><label>生日:</label><input
type="text"
name="birthday"
value="<f:formatDate
value="${person.birthday }"
pattern="yyyy-MM-dd"/>"></td>

<td><input
type="submit"
value="修改"></td>

</tr>

</table>

</form>

</body>

</html>

时间: 2024-10-11 21:25:42

06_MyBatis,Spring,SpringMVC整合的相关文章

spring+springMVC 整合 MongoDB 实现注册登录

发现一入手 MongoDB,便无法脱离,简要说一下,MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 也是在 Nosql 中我最喜欢的一种数据库,MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档数组. 谈一下关系型数据库(RDBMS)与 MongoDB 的对应关系: 建立 maven 工程,需要导入与 MongoDB 相关

spring和springMVC整合注解版helloworld

整合的之前需要从官网上下载spring完整的jar包,我下载的是spring-framework-3.2.2.RELEASE.整合步骤如下: 1.在eclipse中新建一个web项目,将下载的spring的jar包拷入lib目录下,但是spring启动的时候依赖一个commons-logging-1.1.jar的jar包,你需要额外的下载. 2.编写web.xml,配置spring的分发器和spring配置文件的位置.具体内容如下: <servlet> <servlet-name>

SSM框架整合(Spring+SpringMVC+MyBatis)

[SSM的系统架构] [整合概述] 第一步: MyBatis和Spring整合,通过Spring管理mapper接口. 使用mapper的扫描器自动扫描mapper接口在Spring中进行注册. 第二步: 通过Spring管理Service接口. 使用配置方式将Service接口配置在Spring配置文件中. 实现事务控制. 第三步: 由于SpringMVC是Spring的模块,无需整合这两个. [工程截图] [数据库的items] [ 表结构 ] [ 表内数据 ] [1.整合dao]将Myba

Spring+SpringMVC+MyBatis+easyUI整合基础篇(二)牛刀小试

承接上文,该篇即为项目整合的介绍了. 废话不多说,先把源码和项目地址放上来,重点要写在前面. github地址为ssm-demo 你也可以先体验一下实际效果,点击这里就行啦 账号:admin 密码:123456 从构思这个博客,一直到最终确定以这个项目为切入点,中间也是各种问题出现,毕竟是新人,所以也是十分的小心,修改代码以及搬上github其实花了不少时间,但也特别的认真,不知道是怎么回事,感觉这几天的过程比逼死产品经理还要精彩和享受.或许是博客路上的第一站吧,有压力也有新奇,希望自己能坚持下

Spring+SpringMVC+Mybatis+Mysql整合实例【转】

本文要实现Spring+SpringMVC+Mybatis+Mysql的一个整合,实现了SpringMVC控制访问的页面,将得到的页面参数传递给Spring中的Mybatis的bean类,然后查找Mysql数据的功能,并通过JSP显示出来.建议可以先看笔者另一文章Mybatis与Spring整合创建Web项目 .笔者觉得整合过程中问题比较多的还是Spring+Mybatis的整合,SpringMVC的整合还是比较简单. Spring        Spring 是一个开源框架, Spring 是

SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置

一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么. 暂时没有整合缓存,druid也没有做ip地址的过滤.Spring的AOP简单配置了下,也还没具体弄,不知道能不能用,log也不知道能不能用,`(*∩_∩*)′哈哈,有点不负责任...... 直接上代码: 使用的eclipse和eclipse自带的maven,参考了网上的资料,有些代码是拷贝的,不过都自己测试过了.嗯,可以跑起来... 先上项目结构: 新建maven项目,选择web,然后配置pom: <pro

spring+springmvc+ibatis整合小结

最近在整合Spring和ibatis时,不管applicationContext.xml放在哪儿,在web.xml中怎么配置,tomcat启动时始终报applicationContext.xml的错.后来查资料后才发现之前的web.xml配置文件没有在<context-param>中指定applicationContext.xml的路径.原来tomcat在加载web.xml时会优先加载<context-param>和<listener>,之后才加载<servlet

简单易学的SSM(Spring+SpringMVC+MyBatis)整合

SSM(Spring+SpringMVC+MyBatis)的整合: 具体执行过程:  1.用户在页面向后台发送一个请求 2.请求由DispatcherServlet 前端控制器拦截交给SpringMVC管理,SpringMVC讲这个请求传递给Controller层处理. 同时请求由Listener监听到交付给Spring,Spring建立IOC容器. 3.Controller层中会调用相应的Service层的方法处理业务逻辑.此时Service从上一步中建立好的IOC容器获取对象,然后获取 到M

springmvc+spring+mybatis整合实例【转】

开发环境: System:Windows server 2003 WebBrowser:IE6+.Firefox3+ JavaEE Server:tomcat5. IDE:eclipse.MyEclipse 6.5 Database:MySQL 开发依赖库: JavaEE5.Spring 3.0.5.Mybatis 3.0.2.myBatis-spring-1.0.0-rc2 1. 首先新建一个WebProject 命名为ssi,新建项目时,使用JavaEE5的lib库.然后手动添加需要的jar