- 浏览: 7952138 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
mybatis3+spring 3+ext js整合套路,可以小结一下.先来看mybatis 3及模型
层
1 首先是MODEL层,比如对于用户管理
先来个user.java,是个POJO
2 再搞一个persisten层,存放mybatis 3的mapper接口和文件,注意把它们都放
入一个包中,比如
usermapper.xml:
3 userdao层
4 service层
5 controller层
注意,由于要返回相关的信息JSON格式给前端EXT,因此注意这里使用了
spring mvc 3中的很多技术,加个@responsebody就能生成JSON了,十分方便
,所以返回时,用一个MAP保存了要给前端显示的EXT JS信息了.
6 前端EXT JS要点:
getForm: function() {
var form = new Ext.form.FormPanel({
url:'user/save',
....................
..........
7 mybatis3 跟spring 的配置整合
1) 搞个jdbc.properties,存放datasoruce
jdbc.driverClassName= com.mysql.jdbc.Driver
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.databaseurl=jdbc:mysql://localhost:3306/springibatisextjs3
jdbc.username=root
jdbc.password=33333
2)web.xml
3)先看root-context.xml:
4) 业务类的servlet.xml
层
1 首先是MODEL层,比如对于用户管理
先来个user.java,是个POJO
2 再搞一个persisten层,存放mybatis 3的mapper接口和文件,注意把它们都放
入一个包中,比如
public interface UserMapper { Long getId(); User login(Map<String,Object> param); User getUser(Map<String,Object> param); List<User> getUserList(); List<Map<String,Object>> getUserNameList(); void insertUser(User user);
usermapper.xml:
<mapper namespace="com.user.persistence.UserMapper"> <insert id="insertUser" parameterType="User" > INSERT INTO t_user (id,name, password, create_date) VALUES (#{id},#{name}, #{password}, #{createDate,jdbcType=TIMESTAMP}) </insert>
3 userdao层
@Component public class UserDao extends SqlSessionDaoSupport { public void insertUser(User user) { getSqlSession().insert("com.liao.user.persistence.UserMapper.insertUser", user); } ..............
4 service层
@Service //默认将类中的所有函数纳入事务管理. @Transactional public class UserService{ @Autowired private UserMapper userMapper; public void insertUser(User user,Map<String,Object> param) { //新增用户 userMapper.insertUser(user);
5 controller层
@Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping(value="/save",method=RequestMethod.POST) public @ResponseBody Map<String,Object> saveOrUpdate(HttpServletRequest request, HttpServletResponse response){ Map<String,Object> responseMap = new HashMap<String,Object>(); User user = new User(); Long newId = userService.getId(); user.setId(newId); user.setCreateDate(new Date()); user.setName(name); user.setPassword(password); Map<String,Object> param = new HashMap<String,Object>(); param.put("user_id", newId); userService.insertUser(user, param); responseMap.put("method", "Create"); responseMap.put("success", "true"); responseMap.put("info", "新增成功!"); } return responseMap;
注意,由于要返回相关的信息JSON格式给前端EXT,因此注意这里使用了
spring mvc 3中的很多技术,加个@responsebody就能生成JSON了,十分方便
,所以返回时,用一个MAP保存了要给前端显示的EXT JS信息了.
6 前端EXT JS要点:
getForm: function() {
var form = new Ext.form.FormPanel({
url:'user/save',
....................
..........
submit: function() { if (this.form.getForm().isValid()) { var id = this.form.getForm().findField("id").getValue(); this.form.getForm().submit({ waitTitle: '保存数据', waitMsg: '正在保存……', scope: this, method: 'post', params: '', success: function(form, action) { var info = action.result.info; if (action.result.success) { this.store.reload(); if (action.result.method == "Create") { this.form.getForm().reset(); } else { this.dlg.hide(); } } Ext.Msg.alert('信息', info); }, failure: function(form, action) { var info = action.result.info; Ext.Msg.alert('提示', info); } });
7 mybatis3 跟spring 的配置整合
1) 搞个jdbc.properties,存放datasoruce
jdbc.driverClassName= com.mysql.jdbc.Driver
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.databaseurl=jdbc:mysql://localhost:3306/springibatisextjs3
jdbc.username=root
jdbc.password=33333
2)web.xml
<!-- The definition of the Root Spring Container shared by all Servlets and Filters --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/root-context.xml</param-value> </context-param> <!-- Creates the Spring Container shared by all Servlets and Filters --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- Processes application requests --> <servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
3)先看root-context.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:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> <!-- Root Context: defines shared resources visible to all other web components --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="/WEB-INF/jdbc.properties" /> <!-- 数据源配置, 使用应用中的DBCP数据库连接池 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- Connection Info --> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.databaseurl}" /> ................. </bean> <!-- define the SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="typeAliasesPackage" value="com.liao" /> </bean> <!-- scan for mappers and let them be autowired --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.kimho" /> </bean> <!-- enable transaction demarcation with annotations--> <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /> <!-- transaction manager, use JtaTransactionManager for global tx--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 激活annotation功能 --> <context:annotation-config /> <!-- 激活annotation功能 --> <context:spring-configured/> <!-- 不扫描带有@Controller注解的类。因为这些类已经随容器启动时,在servlet-context中扫描过一遍了 --> <context:component-scan base-package="com.liao"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> </beans>
4) 业务类的servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> <!-- Configures the @Controller programming model 必须加上这个,不然请求controller时会出现no mapping url错误--> <mvc:annotation-driven /> <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources/ directory --> <resources mapping="/images/**" location="/images/" /> <resources mapping="/scripts/**" location="/scripts/" /> <resources mapping="/styles/**" location="/styles/" /> <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/jsp directory --> <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <beans:property name="prefix" value="/WEB-INF/jsp/" /> <beans:property name="suffix" value=".jsp" /> </beans:bean> <!-- 扫描业务组件,让spring不扫描带有@Service注解的类(留在root-context.xml中扫描@Service注解的类),防止事务失效 --> <context:component-scan base-package="com.liao"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/> </context:component-scan> </beans:beans
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1591方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 2022前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3475info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2240import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 495https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 695public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 620https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 674https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 442https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 5481 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3110微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 624https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1847什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 969本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1372原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 868public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 677在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 944-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 775一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1911介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
本压缩包"mybatis3+spring4完美整合jar包"提供了最新的整合版本,帮助开发者快速构建基于MyBatis3和Spring4的应用。 MyBatis3是一个轻量级的持久层框架,它简化了SQL操作,允许开发者直接编写SQL语句,避免了ORM...
标题 "mybatis3+spring+springMVC4整合jar包.rar" 描述的是一个整合了MyBatis 3、Spring 4 和 Spring MVC 4 的项目压缩包。这个压缩包通常用于快速搭建一个基于Java的Web开发环境,尤其是用于处理数据库操作和前端...
后端使用SpringBoot框架进行业务逻辑开发,利用Spring Security实现权限控制。数据库采用MySQL进行数据存储,使用MyBatis进行数据访问。 权限控制模块设计包括用户、角色和权限三个主要模块。用户模块用于管理用户...
基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统 基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统 基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统 基于SSM(springmvc+spring+mybatis)+...
基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统源码.zip 基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统源码.zip 基于SSM(springmvc+spring+mybatis)+Mysql图书管理系统源码.zip 基于SSM...
Struts2、MyBatis3和Spring3是Java Web开发中的三大...以上就是Struts2、MyBatis3和Spring3整合的基础知识和在一个Student管理小案例中的具体应用。通过这样的整合,开发者可以构建出功能强大、结构清晰的Web应用程序。
"SpringMvc+Spring+Mybatis+Maven+注解方式"是一个经典的Java后端技术栈,它整合了四个关键组件,为开发人员提供了强大的工具和框架支持。下面将详细讲解这四个组件及其整合方式。 1. **Spring Framework**: ...
基于 SpringBoot + Spring + SpringMvc + Mybatis + Shiro+ Redis 开发单点登录管理系统 基于 SpringBoot + Spring + SpringMvc + Mybatis + Shiro+ Redis 开发单点登录管理系统 基于 SpringBoot + Spring + ...
项目描述 说明: spring security 全注解式的权限管理 动态配置权限,角色和资源,权限控制到...Springboot+Mybatis+ SpringMvc+springsecrity+Redis+bootstrap+jquery 数据库文件 压缩包内 jar包文件 maven搭建
总的来说,"struts2+spring+mybatis+easyui"的实现是一个标准的Java Web项目结构,它利用Maven进行构建管理,通过整合四个组件,实现了后端的业务逻辑处理、数据访问和前端的用户界面展示。这种架构在实际开发中具有...
基于SpringBoot + Mybatis + Spring Security + Semantic UI 的图书管理系统源码 基于SpringBoot + Mybatis + Spring Security + Semantic UI 的图书管理系统源码 基于SpringBoot + Mybatis + Spring Security...
【标题】"mybatis3+spring+springMVC4整合jar包"是一个集合了多个关键组件的软件包,旨在简化Java EE开发中的数据访问层、业务逻辑层以及表现层的集成工作。这个整合包包括了MyBatis 3、Spring 4.0.x以及Spring MVC ...
基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis+Maven项目案例 基于SpringMVC+Spring+MyBatis...
【标题】"Mybatis3+Spring4 +Struts2整合源码"是一个示例项目,展示了这三大流行Java Web框架的集成与协作。Mybatis3是轻量级的持久层框架,Spring4则是一个全面的企业级应用框架,而Struts2则作为MVC架构的一部分,...
这个“mybatis3+spring+springMVC4整合jar包”是一个集成了这三个组件的库,方便开发者快速搭建项目环境。下面将详细解释这三者的核心概念、功能以及它们如何协同工作。 1. Spring:Spring 是一个全面的Java应用...
mybatis3+spring3+springMVC框架整合 maven的库是本地库,可以自己修改一下,如果不会修改我也附带了所有的jar包。数据库是Mysql,库表里面就映射了一个User表,看po可以自己创建。
标题 "mybatis3+spring4+struts2.3整合jar" 暗示了这是一个包含MyBatis 3、Spring 4和Struts 2.3框架集成的Java项目压缩包。这些技术是Java Web开发中常用的组件,用于构建高效、可维护的Web应用程序。以下是对每个...
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序 基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序 基于 Spring Boot + MyBatis Plus + Vue ...