Spring+SpringMVC+MyBatis+MySql框架整合
Spring+SpringMVC+MyBatis框架整合,資料庫使用MySql,例項不涉及到真實業務。
在真實業務中,專案用maven進行管理,分頁使用外掛,登入等使用對應的攔截器處理,
如果涉及到分散式,可以使用rmi,webservice,http等技術,根據實際情況,這裡只是將
Spring,SpringMVC,Mybatis單純的進行整合。
關於Spring使用註解還是XML形式,官方文件中回答了其問題,告訴我們兩者結合使用,
也可單獨使用,仁者見仁,智者見智。
關於MyBatis是使用註解還是XML形式,還是根據實際情況,使用註解著實簡單,
但是維護sql費勁,使用XML維護sql方便,但是結構相對複雜。一般推薦簡單
sql查詢等用註解,對於長篇大論的sql還是用XML形式,維護相對輕鬆。
例項專案環境配置:
作業系統: windows7 64位
web基本環境: eclipse +jdk1.8.0_91 + apache-tomcat-7.0.56
資料庫: mysql-5.7.14-winx64
spring版本: Spring+SpringMVC 4.1.8
MyBatis和Spring整合: mybatis-3.2.7.jar + mybatis-spring-1.2.2.jar
Memcached做快取技術
例項均通過註解完成
一 例項專案結構
專案整體結構:
java檔案包結構:
config配置檔案結構:
二 專案jar包
關於jar包的簡單分析,其中存在技術共用jar包的情況,jar包互動等情況,只寫在了某一處:
Spring+springMVC的jar包以及技術aop:
aopalliance-1.0.jar
spring-aop-4.1.8.RELEASE.jar
spring-aspects-4.1.8.RELEASE.jar
spring-beans-4.1.8.RELEASE.jar
spring-context-4.1.8.RELEASE.jar
spring-context-support-4.1.8.RELEASE.jar
spring-core-4.1.8.RELEASE.jar
spring-expression-4.1.8.RELEASE.jar
spring-instrument-4.1.8.RELEASE.jar
spring-instrument-tomcat-4.1.8.RELEASE.jar
spring-jdbc-4.1.8.RELEASE.jar
spring-jms-4.1.8.RELEASE.jar
spring-messaging-4.1.8.RELEASE.jar
spring-orm-4.1.8.RELEASE.jar
spring-oxm-4.1.8.RELEASE.jar
spring-test-4.1.8.RELEASE.jar
spring-tx-4.1.8.RELEASE.jar
spring-web-4.1.8.RELEASE.jar
spring-webmvc-4.1.8.RELEASE.jar
spring-webmvc-portlet-4.1.8.RELEASE.jar
commons-logging.jar ------Spring依賴
資料庫連線池:
dbcp:
commons-collections.jar
commons-dbcp.jar
commons-pool.jar
c3p0:
c3p0-0.9.1.2.jar
MyBatis和Spring整合jar:
mybatis-3.2.7.jar
mybatis-spring-1.2.2.jar
MySql資料庫驅動jar:
mysql-connector-java-5.1.21.jar
json處理,包括SpringMVC配置或自己通過json-lib包寫json處理類:
Jackson:
jackson-all-1.8.1.jar
jackson-annotations-2.3.0.jar
jackson-core-2.3.0.jar
jackson-core-asl-1.9.9.jar
jackson-core-lgpl-1.9.6.jar
jackson-databind-2.3.0.jar
jackson-mapper-asl-1.9.6.jar
json:
json-lib-2.4-jdk15.jar
檔案上傳:
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-beanutils-1.7.0.jar
動態代理:
cglib-nodep-2.1_3.jar
Memcached相關jar:
java_memcached-release_2.6.6.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
log4j-1.2.15.jar
commons-pool.jar(與連線池等其他技術共用)
jstl標準標籤庫相關必須jar:
jstl.jar
standard.jar
單元測試:
junit-4.4.jar
xml檔案讀取:
dom4j-1.6.1.jar
servlet:
servlet-api.jar
三 spring的applicationContext.xml配置
檔案中配置內容:
1. 掃描配置
2. 註解配置
4. MyBatis與Spring整合配置
5. 資料庫註解事物管理
<?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:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">
<!-- spring基礎配置 begin -->
<context:annotation-config/>
<!-- 啟用自動掃描 -->
<context:component-scan base-package="com.lanhuigu.*">
<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Controller" /><!-- 排除註解為controller的型別 -->
</context:component-scan>
<!-- 從配置檔案.properties中讀取配置資料 -->
<bean id="jdbcConfig"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<!--
1.這裡的classpath可以認為是專案中的src目錄
2.屬性名是 locations,使用子標籤<list></list>可以指定多個數據庫的配置檔案,這裡指定了一個
-->
<value>classpath:developer-jdbc.properties</value>
</list>
</property>
</bean>
<!-- 1.配置資料來源(dataSource) -->
<bean id="dataSourceWrite" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<!-- driver -->
<property name="driverClass">
<value>${jdbc.driver}</value>
</property>
<!-- url -->
<property name="jdbcUrl">
<value>${jdbc.url}</value>
</property>
<!-- username -->
<property name="user">
<value>${jdbc.username}</value>
</property>
<!-- password -->
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>
<!-- 2.例項化SqlSessionFactory -->
<bean id="sqlWriteSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" scope="singleton">
<property name="dataSource" ref="dataSourceWrite" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>
<!-- 3.從SqlSessionFactory中獲取SqlSession,在SqlSession中包括資料來源配置和所有的對映SQL方法 -->
<!-- <bean id="writableSQLSession" class="org.mybatis.spring.SqlSessionTemplate" scope="prototype">
<constructor-arg index="0" ref="sqlWriteSessionFactory" />
</bean> -->
<!-- 自動掃描mapper介面,注入sqlsessionfactory -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.lanhuigu.dao.map"/>
</bean>
<!-- 4.設定事務管理配置(transactionManager) -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSourceWrite"/>
</property>
</bean>
<!-- 通過註解配置事務 -->
<tx:annotation-driven transaction-manager="transactionManager" />
<!-- spring基礎配置 end -->
</beans>
四 SpringMVC的spring-mvc.xml配置
配置內容:
1. 註解驅動,使用註解的前提配置
2. Controller層應該掃描的檔案位置
3. 檢視解析器,檢視跳轉的位置
4. 使用Jackson處理json的配置
5. 檔案上傳配置
<?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:p="http://www.springframework.org/schema/p"
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-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
<!-- 註解驅動:相當於註冊了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter兩個bean,配置一些messageconverter。即解決了@Controller註解的使用前提配置。 -->
<mvc:annotation-driven/>
<!-- 配置自動掃描的包路徑:自動掃描該包,使SpringMVC認為包下用了@controller註解的類是控制器 -->
<context:component-scan base-package="com.lanhuigu.controller"/>
<!-- 檢視解析器:定義跳轉的檔案的前後綴 ,檢視配置 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置字首 -->
<property name="prefix" value="/jsp/"/>
<!-- 配置字尾 -->
<property name="suffix" value=".jsp"/>
</bean>
<!-- 處理在類級別上的@RequestMapping註解 -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<!-- 處理在方法級別上的@RequestMapping註解 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<!-- 預設是ISO-88859-1,避免亂碼這裡設定為UTF-8 -->
<value>
text/html;charset=UTF-8
</value>
</list>
</property>
</bean>
<!-- 啟動JSON格式的配置 -->
<bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<!-- 解決 HttpMediaTypeNotAcceptableException: Could not find acceptable representation -->
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<!-- 支援上傳檔案配置 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10485760"/>
</bean>
</beans>
五 MyBatis的mybatis-config.xml配置
檔案配置內容:
1. 實體別名
2. Sql對映檔案位置
注意: MyBatis可以配置資料來源以及事物管理,與Spring整合後資料來源和事物配置都交給
spring來完成,其自身只是負責持久層與資料庫進行互動。
<?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.lanhuigu.dao.model.user.User" alias="User"/>
</typeAliases>
<!-- 外掛 -->
<!-- <plugins>
<plugin interceptor="com.lanhuigu.plugin.PagePlugin">
<property name="dialect" value="mysql"/>
<property name="pageSqlId" value=".*listPage.*"/>
</plugin>
</plugins> -->
<!-- 註冊對映SQL檔案 -->
<mappers>
<package name="com.lanhuigu.dao.map" />
</mappers>
</configuration>
六 Mysql的驅動使用者名稱等的developer-jdbc.properties配置
properties中將資料庫連線基礎資訊配置在其中,spring配置檔案中通過
PropertyPlaceholderConfigurer類來讀取檔案,並在spring配置檔案中使用,
方便修改和維護。
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/lanhuigu_web
jdbc.username=root
jdbc.password=lanhuigu
七 log4j日誌檔案的log4j.properties配置
#Console Log
log4j.rootLogger=debug,info, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=INFO
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%5p %d{MM-dd HH:mm:ss}(%F-%M:%L): %m%n
八 web.xml的配置
檔案配置內容:
1. 啟用tomcat處理靜態資原始檔,也可以在spring-mvc.xml中通過配置。
2. 在web啟動時,載入Spring和SpringMVC配置檔案
3. SpringMVC的轉發器DispatcherServlet配置
4. 日誌配置
5. 字符集編碼配置
6. session會話超時配置
7. 預設錯誤頁面配置
<?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"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<!-- 靜態資原始檔的攔截,啟用tomcat的defaultServlet處理靜態資原始檔 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.otf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.eot</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.svg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.ttf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.woff</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.woff2</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.ico</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.pdf</url-pattern>
</servlet-mapping>
<!-- spring begin -->
<!-- 載入spring配置檔案applicationContext.xml -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- spring end -->
<!-- springMVC begin -->
<servlet>
<servlet-name>springMVCDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置DispatcherServlet的初始化引數 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<!-- web應用被載入的時候建立servlet -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVCDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- springMVC end -->
<!-- log4j begin -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>600000</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
<!-- log4j end -->
<!-- 字符集 begin -->
<filter>
<filter-name>encodingFilter</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 字符集 end -->
<!-- 錯誤頁面配置 -->
<error-page>
<error-code>400</error-code>
<location>/common/error/400.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/common/error/404.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/common/error/500.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/common/error/500.jsp</location>
</error-page>
<!-- 會話超時時間 -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<!-- 預設首頁 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
九 Spring的業務介面配置
service下的IUserService介面:
package com.lanhuigu.service.user;
import org.springframework.stereotype.Service;
import com.lanhuigu.dao.model.user.User;
@Service
public interface IUserService {
public User queryUserById(int userId);
}
service下的UserServiceImpl業務實現:
package com.lanhuigu.service.user.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.lanhuigu.dao.map.user.UserMapper;
import com.lanhuigu.dao.model.user.User;
import com.lanhuigu.service.user.IUserService;
@Component
public class UserServiceImpl implements IUserService {
@Autowired
private UserMapper userMapper;
// @Transactional(readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public User queryUserById(int userId) {
// 1. MyBatis註解形式使用
User user = userMapper.queryUserById(userId);
// 2. MyBatis XML形式使用
//User user = userMapper.queryUserByIdOld(userId);
return user;
}
}
十 SpringMVC的controller層配置
IndexController.java程式碼:
package com.lanhuigu.controller.index;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.lanhuigu.dao.model.user.User;
import com.lanhuigu.service.user.IUserService;
@Controller
public class IndexController{
@Autowired
IUserService userService;
@RequestMapping(value="/index")
public String index(HttpServletRequest request) {
// 資料互動測試
User user = userService.queryUserById(1);
if (user == null) {
System.out.println("使用者為空");
} else {
System.out.println(user.getUserName());
}
request.setAttribute("user", user);
return "index";
}
}
十一 MyBatis對映檔案和User實體配置,資料庫表和資料
User.java:
package com.lanhuigu.dao.model.user;
public class User {
private Integer userId;
private String userName;
private String password;
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 String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
UserMapper.java:
package com.lanhuigu.dao.map.user;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.lanhuigu.dao.model.user.User;
public interface UserMapper {
// MyBatis註解形式查詢
@Select(" select f_userId userId,f_userName userName,f_password password from t_user_main where f_userId = #{userId} ")
public User queryUserById(@Param("userId") int userId);
// MyBatis XML形式查詢(一定要配置對應的UserMapper.XML檔案)
public User queryUserByIdOld(@Param("userId") int userId);
}
UserMapper.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">
<mapper namespace="com.lanhuigu.dao.map.user.UserMapper">
<select id="queryUserByIdOld" resultType="User">
select
f_userId userId,
f_userName userName,
f_password password
from t_user_main
where f_userId = #{userId}
</select>
</mapper>
資料庫表和資料:
表:
CREATE TABLE `t_user_main` (
`f_userId` int(11) NOT NULL AUTO_INCREMENT COMMENT '使用者id',
`f_userName` varchar(225) DEFAULT NULL COMMENT '使用者名稱',
`f_password` varchar(255) DEFAULT NULL COMMENT '使用者密碼',
PRIMARY KEY (`f_userId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
資料:
insert into t_user_main values(1,'test','123456');
十二 jsp檔案下的測試index.jsp程式碼以及WebContent下common中的錯誤頁面配置
頁面路徑截圖:
index.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.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">
</head>
<body>
******資料互動測試******<br>
使用者名稱:${user.userName }<br>
密碼:${user.password }
</body>
</html>
common檔案下error中的頁面:
400.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
400錯誤頁面Test
</body>
</html>
404.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
404錯誤頁面Test
</body>
</html>
500.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
500錯誤頁面
</body>
</html>
十三 將web專案加入tomcat,啟動服務
訪問方式: http://ip:埠/專案名稱/index
eg:
http://localhost:9000/lanhuigu/index
十四 頁面效果
相關推薦
Spring+SpringMVC+MyBatis+MySql框架整合
Spring+SpringMVC+MyBatis框架整合,資料庫使用MySql,例項不涉及到真實業務。 在真實業務中,專案用maven進行管理,分頁使用外掛,登入等使用對應的攔截器處理, 如果涉及到分散式,可以使用rmi,webservice,http等技術,根據實際情況
ssm(spring + Springmvc + mybatis)框架整合 · 筆記
一、環境配置 材料準備: JDK1.8 Maven Tomcat7 Eclipse MySQL 1、下載完後的maven配置: (1)配置本地倉庫 :開啟conf資料夾中的 settings.xml 將藍下滑線中的內容複製出來填寫自己的本地倉庫地址 <
spring+springMVC+mybatis三大框架整合學習總結
之前就想弄一個基礎框架,用於學習和以後工作需要,現在有時間終於可以來玩一玩搭框架這個遊戲了。在搭建的過程中遇到了各種各樣的問題和報錯,一頭霧水,在網上查了好多資料,借鑑學習(http://blog.csdn.net/zhshulin/article/details/
一、使用IDEA,利用maven整合ssm框架(spring+springmvc+mybatis+mysql))
1.工具 apache-tomcat 7 apache-maven(後面詳細講!這東西我一開始也很懵逼) mysql 5以上的版本 navicat(有了這個就不用cmd了,可以直接顯示資料庫,如下圖,請自行百度綠色版QAQ) 2.前言 前不久學完
Quartz學習——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz整合詳解(四)
當任何時候覺你得難受了,其實你的大腦是在進化,當任何時候你覺得輕鬆,其實都在使用以前的壞習慣。 通過前面的學習,你可能大致瞭解了Quartz,本篇博文為你開啟學習SSMM+Quartz的旅程!歡迎上車,開始美好的旅程! 本篇是在SSM框架——Spri
Spring+SpringMVC+Mybatis+Mysql整合例項
本文要實現Spring+SpringMVC+Mybatis+Mysql的一個整合,實現了SpringMVC控制訪問的頁面,將得到的頁面引數傳遞給Spring中的Mybatis的bean類,然後查詢Mysql資料的功能,並通過JSP顯示出來。建議可以先看筆者另
SSM(Spring+SpringMVC+Mybatis)框架搭建詳細教程【附源代碼Demo】
oid rep images end 訪問靜態文件 into *** 寫到 where http://www.cnblogs.com/qixiaoyizhan/p/7751732.html 【前言】 應某網絡友人邀約,需要一個SSM框架的Demo作為基礎學習資料,於
Quartz學習——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成詳解(四)
webapp cron表達式 msi 接口 cli post 定時 報錯 gets Quartz學習——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成詳解(四) 當任何時候覺你得難受了,其實你的大腦是在進化,當任何時候你覺得
Spring+SpringMVC+MyBatis+MySQL 實現讀寫分離
簡介 主從複製實現後,主庫資料只能夠寫入資料,讀資料只能夠從庫資料完成。此時程式碼部分就需要實現讀寫分離;就需要配置多個數據源;而以前配置的DataSource 只能夠從單一的URL中獲取連線。在Spring 中提供了一個AbstractRoutingDataSource 類來
基於Maven工具搭建Spring+SpringMVC++MyBatis(ssm)框架步驟
目錄 1.使用Ecplise建立Maven工程: 2.構建SSM框架 3.日誌資訊:log4j 4.應用例項:使用者登入 5 資料庫MySQL 1.使用Ecplise建立Maven工程: 1.1 File -> New -> Other,在New視
手把手教你如何從零開始在eclipse上搭起一個ssm(spring+springMVC+myBatis)框架
1.新建一個Maven專案 直接點選next: 選擇這個,這個是指javaWeb專案 輸入maven專案的座標 點選finish,建立專案完成 2.新增maven依賴並下載 找到剛建的maven專案下的pom.xml配置檔案,開啟: 接下來,在url和depe
springMVC系列之(四) spring+springMVC+hibernate 三大框架整合
首先我們要知道Hibernate五大物件:,本例項通過深入的使用這五大物件和spring+springMVC相互結合,體會到框架的好處,提高我們的開發效率 Hibernate有五大核心介面,分別是:Session Transaction
Spring,SpringMVC,Mybatis (SSM)框架的搭建
搭建SSM框架參照一下步驟:1.提供ssm所需jar包 這些jar包包括三個框架所需要的,就不一一列舉所屬了 aopalliance-1.0.jar asm-3.3.1.jar aspectjweaver.jar c3p0-0.9.1.jar cglib-2.2.2.j
用maven構建ssm(spring+springmvc+mybatis)框架
建立maven專案使用idea或者eclipes建立maven web專案(具體步驟請參考其他部落格)pom.xml檔案1.在pom檔案中的url標籤下加入下面程式碼,方便以後更改jar包版本 <properties> <springframework
spring+springMVC+mybatis的框架專案基礎環境搭建
上一個專案在後臺用到spring+springMVC+mybatis的框架,先新專案初步需求也已經下來,不出意外的話,應該也是用這個框架組合。雖然在之前activiti相關的學習中所用到的框架也是這個,但是當時重點在於實現activiti的功能,因此在環境搭建上也只是以能用為
spring+springmvc+mybatis+shiro+ehcache整合demo
實際使用shiro的時候大部分都是和spring等框架結合使用,主要就是配置web.xml將shiro的filter和spring容器bean的filter關聯起來,生命週期由servlet容器來控制,然後配置shiro的spring的xml檔案,其中主要配置s
新巴巴運動網專案:SSM(Spring+SpringMVC+mybatis)框架的配置
新學的框架配置,先把配置過程記錄下來,有些不懂的地方以後再慢慢理解,本專案採用IDEA+Maven的方式建立,具體建立過程不再細說,下面從具體的配置檔案寫起。1.首先在web.xml裡配置spring監聽器: 方法:找包,在org.org.springframewor
Spring+SpringMVC+Mybatis 多資料來源整合
此篇文章是基於Spring3.0和mybatis3.2的 總體大概流程: 1. 拷貝所需jar 2.寫一個數據庫切換的工具類:DataSourceContextHolder,用來切換資料庫3.寫一個DynamicDataSource類來繼承AbstractRoutingDa
一篇文章學會Spring+SpringMVC+Mybatis+Maven搭建和部署,記一次Spring+SpringMVC+Mybatis+Maven的整合
之前一直沒有用過maven和Mybatis最近自己搭建一個基於Maven的Spring+SpringMVC+Mybatis開發環境。注:有的時候沒有自己動手真正搭過環境(脫離教學的方式),可能有些地方的問題注意不到的。會在介紹搭建的同時記錄一些遇見的坑和一些知識點。首先放上M
SSM(Spring+Spring MVC+MyBatis) 框架整合
SSM(Spring+Spring MVC+MyBatis)是媲美於 ssm 框架的輕量級 Java EE 框架。在實際專案中,我們採用 SSM 框架進行開發,Spring MVC 用於 Web 層,相當於 Controller,處理請求並作出響應;MyBati