在这里,我们将给大家分享关于整合mybatis、spring、springMVC后,SQL语句自动提示如何在idea中设置?的知识,同时也会涉及到如何更有效地6、SpringMVC整合Mybatis之
在这里,我们将给大家分享关于整合mybatis、spring、springMVC后,SQL语句自动提示如何在idea中设置?的知识,同时也会涉及到如何更有效地6、SpringMVC整合Mybatis之Mapper、6、spring注解+springMVC注解+Mybatis注解+log4j+idea+maven、8、SpringMVC整合Mybatis之Controller、AngularJS整合Springmvc、Spring、Mybatis搭建开发环境的内容。
本文目录一览:- 整合mybatis、spring、springMVC后,SQL语句自动提示如何在idea中设置?
- 6、SpringMVC整合Mybatis之Mapper
- 6、spring注解+springMVC注解+Mybatis注解+log4j+idea+maven
- 8、SpringMVC整合Mybatis之Controller
- AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
整合mybatis、spring、springMVC后,SQL语句自动提示如何在idea中设置?
1、使用idea内置数据库连接插件(右侧小图标),点击加号:
2、继续按照下图操作
3、输入用户名,密码,并应用:
4、选择需要操作的数据库
5、配置相关的mybatis的sql语句测试环境(此处略),接下来是setting配置:
6、进行设置
7、结果展示
完~~~
6、SpringMVC整合Mybatis之Mapper
SpringMVC整合Mybatis思路
-
第一步:整合dao层
- mybatis和spring整合,通过spring管理mapper接口。
- 使用mapper的扫描器自动扫描mapper接口在spring中进行注册。
-
第二步:整合service层
- 通过spring管理service接口。
- 使用配置方式将service接口配置在spring配置文件中。
- 实现事务控制。
-
第三步:整合springmvc
- 由于springmvc是spring的模块,不需要整合。
整合dao
首先在resource文件夹下添加两个文件:数据库配置文件和日志配置文件
- 数据库配置文件db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://120.25.162.238:3306/mybatis001?characterEncoding=utf-8
jdbc.username=root
jdbc.password=123
sqlMapConfig.xml
mybatis自己的配置文件。在resources目录下新建mybatis文件夹,并新建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>
<!-- 全局setting配置,根据需要添加 -->
<!-- 配置别名 -->
<typeAliases>
<!-- 批量扫描别名 -->
<package name="com.tianlang.po"/>
</typeAliases>
<!-- 配置mapper
由于使用spring和mybatis的整合包进行mapper扫描,这里不需要配置了。
必须遵循:mapper.xml和mapper.java文件同名且在一个目录
-->
<!-- <mappers>
</mappers> -->
</configuration>
applicationContext-dao.xml
在resources目录下新建spring文件夹,并新建applicationContext-dao.xml文件。配置:
- 数据源
- SqlSessionFactory
- mapper扫描器
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- 加载db.properties文件中的内容,db.properties文件中key命名要有一定的特殊规则 -->
<context:property-placeholder location="classpath:db.properties" />
<!-- 配置数据源,dbcp -->
<bean id="dataSource"destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="30" />
<property name="maxIdle" value="5" />
</bean>
<!-- 从整合包里找,org.mybatis:mybatis-spring:1.2.4 -->
<!-- sqlSessionFactory -->
<bean id="sqlSessionFactory">
<!-- 数据库连接池 -->
<property name="dataSource" ref="dataSource" />
<!-- 加载mybatis的全局配置文件 -->
<property name="configLocation" value="classpath:mybatis/sqlMapConfig.xml" />
</bean>
<!-- mapper扫描器 -->
<bean>
<!-- 扫描包路径,如果需要扫描多个包,中间使用半角逗号隔开 -->
<property name="basePackage" value="com.tianlang.mapper"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
<!-- <property name="sqlSessionFactory" ref="sqlSessionFactory" />
会导致数据源配置不管用,数据库连接不上。且spring 4弃用-->
</bean>
</beans>
手动定义商品查询Mapper
针对综合查询mapper,一般情况会有关联查询,建议自定义mapper
- ItemsMapperCustom.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.tianlang.mapper.ItemsMapperCustom" >
<!-- 定义商品查询的sql片段,就是商品查询条件 -->
<sql id="query_items_where">
<!-- 使用动态sql,通过if判断,满足条件进行sql拼接 -->
<!-- 商品查询条件通过ItemsQueryVo包装对象 中itemsCustom属性传递 -->
<if test="itemsCustom!=null">
<if test="itemsCustom.name!=null and itemsCustom.name!=''''">
items.name LIKE ''%${itemsCustom.name}%''
</if>
</if>
</sql>
<!-- 商品列表查询 -->
<!-- parameterType传入包装对象(包装了查询条件)
resultType建议使用扩展对象
-->
<select id="findItemsList" parameterType="com.tianlang.po.ItemsQueryVo"
resultType="com.tianlang.po.ItemsCustom">
SELECT items.* FROM items
<where>
<include refid="query_items_where"></include>
</where>
</select>
</mapper>
- ItemsMapperCustom.java
package com.tianlang.mapper;
public interface ItemsMapperCustom {
//商品查询列表
List<ItemsCustom> findItemsList(ItemsQueryVo itemsQueryVo)throws Exception;
}
- po类
ItemsCustom
package com.tianlang.po;
/**
* 商品信息的扩展类
*/
public class ItemsCustom extends Items{
//添加商品信息的扩展属性
}
- 输入pojo的包装类
package com.tianlang.po;
public class ItemsQueryVo {
//商品信息
private Items items;
//为了系统 可扩展性,对原始生成的po进行扩展
private ItemsCustom itemsCustom;
public Items getItems() {
return items;
}
public void setItems(Items items) {
this.items = items;
}
public ItemsCustom getItemsCustom() {
return itemsCustom;
}
public void setItemsCustom(ItemsCustom itemsCustom) {
this.itemsCustom = itemsCustom;
}
}
6、spring注解+springMVC注解+Mybatis注解+log4j+idea+maven
1、项目结构如下
2、编辑pom.xml文件配置依赖
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <groupId>com</groupId> 8 <artifactId>ssm_day46</artifactId> 9 <version>1.0-SNAPSHOT</version> 10 <packaging>war</packaging> 11 12 <name>ssm_day46 Maven Webapp</name> 13 <!-- FIXME change it to the project's website --> 14 <url>http://www.example.com</url> 15 16 <properties> 17 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 18 <maven.compiler.source>1.7</maven.compiler.source> 19 <maven.compiler.target>1.7</maven.compiler.target> 20 </properties> 21 22 <dependencies> 23 <dependency> 24 <groupId>junit</groupId> 25 <artifactId>junit</artifactId> 26 <version>4.12</version> 27 </dependency> 28 29 30 <!--1 https://mvnrepository.com/artifact/org.springframework/spring-beans --> 31 <dependency> 32 <groupId>org.springframework</groupId> 33 <artifactId>spring-beans</artifactId> 34 <version>4.3.6.RELEASE</version> 35 </dependency> 36 37 38 <!--2 https://mvnrepository.com/artifact/org.springframework/spring-context --> 39 <dependency> 40 <groupId>org.springframework</groupId> 41 <artifactId>spring-context</artifactId> 42 <version>4.3.6.RELEASE</version> 43 </dependency> 44 45 46 <!-- 3https://mvnrepository.com/artifact/org.springframework/spring-core --> 47 <dependency> 48 <groupId>org.springframework</groupId> 49 <artifactId>spring-core</artifactId> 50 <version>4.3.6.RELEASE</version> 51 </dependency> 52 53 54 <!--4 https://mvnrepository.com/artifact/org.springframework/spring-expression --> 55 <dependency> 56 <groupId>org.springframework</groupId> 57 <artifactId>spring-expression</artifactId> 58 <version>4.3.6.RELEASE</version> 59 </dependency> 60 61 62 <!--5 https://mvnrepository.com/artifact/org.springframework/spring-aop --> 63 <dependency> 64 <groupId>org.springframework</groupId> 65 <artifactId>spring-aop</artifactId> 66 <version>4.3.6.RELEASE</version> 67 </dependency> 68 69 70 <!--6 https://mvnrepository.com/artifact/aopalliance/aopalliance --> 71 <dependency> 72 <groupId>aopalliance</groupId> 73 <artifactId>aopalliance</artifactId> 74 <version>1.0</version> 75 </dependency> 76 77 78 <!--7 https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --> 79 <dependency> 80 <groupId>org.aspectj</groupId> 81 <artifactId>aspectjweaver</artifactId> 82 <version>1.8.10</version> 83 </dependency> 84 85 86 <!--8 https://mvnrepository.com/artifact/log4j/log4j --> 87 <dependency> 88 <groupId>log4j</groupId> 89 <artifactId>log4j</artifactId> 90 <version>1.2.17</version> 91 </dependency> 92 93 94 <!--9 https://mvnrepository.com/artifact/commons-logging/commons-logging --> 95 <dependency> 96 <groupId>commons-logging</groupId> 97 <artifactId>commons-logging</artifactId> 98 <version>1.2</version> 99 </dependency> 100 101 102 <!--10 https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> 103 <dependency> 104 <groupId>org.springframework</groupId> 105 <artifactId>spring-jdbc</artifactId> 106 <version>4.3.6.RELEASE</version> 107 </dependency> 108 109 110 <!--11 https://mvnrepository.com/artifact/org.springframework/spring-orm --> 111 <dependency> 112 <groupId>org.springframework</groupId> 113 <artifactId>spring-orm</artifactId> 114 <version>4.3.6.RELEASE</version> 115 </dependency> 116 117 118 <!--12 https://mvnrepository.com/artifact/org.springframework/spring-tx --> 119 <dependency> 120 <groupId>org.springframework</groupId> 121 <artifactId>spring-tx</artifactId> 122 <version>4.3.6.RELEASE</version> 123 </dependency> 124 125 126 <!--13 https://mvnrepository.com/artifact/org.springframework/spring-web --> 127 <dependency> 128 <groupId>org.springframework</groupId> 129 <artifactId>spring-web</artifactId> 130 <version>4.3.6.RELEASE</version> 131 </dependency> 132 133 134 <!--14 https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> 135 <dependency> 136 <groupId>org.springframework</groupId> 137 <artifactId>spring-webmvc</artifactId> 138 <version>4.3.6.RELEASE</version> 139 </dependency> 140 141 142 <!--15 https://mvnrepository.com/artifact/org.mybatis/mybatis --> 143 <dependency> 144 <groupId>org.mybatis</groupId> 145 <artifactId>mybatis</artifactId> 146 <version>3.4.6</version> 147 </dependency> 148 149 150 <!--16 https://mvnrepository.com/artifact/MysqL/mysql-connector-java --> 151 <dependency> 152 <groupId>MysqL</groupId> 153 <artifactId>mysql-connector-java</artifactId> 154 <version>5.1.38</version> 155 </dependency> 156 157 158 <!--17 https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> 159 <dependency> 160 <groupId>org.mybatis</groupId> 161 <artifactId>mybatis-spring</artifactId> 162 <version>1.3.2</version> 163 </dependency> 164 165 <!--18 https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> 166 <dependency> 167 <groupId>javax.servlet</groupId> 168 <artifactId>javax.servlet-api</artifactId> 169 <version>3.1.0</version> 170 </dependency> 171 172 <!--19 https://mvnrepository.com/artifact/javax.servlet/jstl --> 173 <dependency> 174 <groupId>javax.servlet</groupId> 175 <artifactId>jstl</artifactId> 176 <version>1.2</version> 177 </dependency> 178 179 180 <!--20 https://mvnrepository.com/artifact/taglibs/standard --> 181 <dependency> 182 <groupId>taglibs</groupId> 183 <artifactId>standard</artifactId> 184 <version>1.1.2</version> 185 </dependency> 186 187 <!--文件上传使用的jar--> 188 <!--21 https://mvnrepository.com/artifact/commons-io/commons-io --> 189 <dependency> 190 <groupId>commons-io</groupId> 191 <artifactId>commons-io</artifactId> 192 <version>2.4</version> 193 </dependency> 194 <!--22--> 195 <dependency> 196 <groupId>commons-fileupload</groupId> 197 <artifactId>commons-fileupload</artifactId> 198 <version>1.3.3</version> 199 </dependency> 200 201 <!--23 下载ajax封装数据json格式交互的jar--> 202 <dependency> 203 <groupId>com.fasterxml.jackson.core</groupId> 204 <artifactId>jackson-databind</artifactId> 205 <version>2.9.6</version> 206 </dependency> 207 208 <dependency> 209 <groupId>com.fasterxml.jackson.core</groupId> 210 <artifactId>jackson-core</artifactId> 211 <version>2.9.6</version> 212 </dependency> 213 214 <dependency> 215 <groupId>com.fasterxml.jackson.core</groupId> 216 <artifactId>jackson-annotations</artifactId> 217 <version>2.9.6</version> 218 </dependency> 219 220 <!--使用4的版本否则springmvc的xml--> 221 <dependency> 222 <groupId>com.github.pageHelper</groupId> 223 <artifactId>pageHelper</artifactId> 224 <version>4.1.6</version> 225 </dependency> 226 </dependencies> 227 228 229 </project>pom.xml
3、在java目录下的com.pojo包下创建Scott.java持久化类
1 package com.pojo; 2 3 import org.springframework.stereotype.Component; 4 5 import java.io.Serializable; 6 7 /** 8 * 多方引用一方对象 9 */ 10 @Component 11 public class Scott implements Serializable{ 12 //多方所需字段 13 private Integer empno ; 14 private String ename ; 15 private Double sal ; 16 private Integer deptno; 17 //一方所需字段 18 private String dname; 19 20 public Scott() { 21 } 22 23 public Scott(Integer empno, String ename, Double sal, Integer deptno, String dname) { 24 this.empno = empno; 25 this.ename = ename; 26 this.sal = sal; 27 this.deptno = deptno; 28 this.dname = dname; 29 } 30 31 public Integer getEmpno() { 32 return empno; 33 } 34 35 public void setEmpno(Integer empno) { 36 this.empno = empno; 37 } 38 39 public String getEname() { 40 return ename; 41 } 42 43 public void setEname(String ename) { 44 this.ename = ename; 45 } 46 47 public Double getSal() { 48 return sal; 49 } 50 51 public void setSal(Double sal) { 52 this.sal = sal; 53 } 54 55 public Integer getDeptno() { 56 return deptno; 57 } 58 59 public void setDeptno(Integer deptno) { 60 this.deptno = deptno; 61 } 62 63 public String getDname() { 64 return dname; 65 } 66 67 public void setDname(String dname) { 68 this.dname = dname; 69 } 70 71 @Override 72 public String toString() { 73 return "Scott{" + 74 "empno=" + empno + 75 ", ename='" + ename + '\'' + 76 ", sal=" + sal + 77 ", deptno=" + deptno + 78 ", dname='" + dname + '\'' + 79 '}'; 80 } 81 }Scott.java
4、在java目录下的com.mapper包下创建ScottMapper.java映射接口
1 package com.mapper; 2 import com.pojo.Scott; 3 import org.apache.ibatis.annotations.Delete; 4 import org.apache.ibatis.annotations.Insert; 5 import org.apache.ibatis.annotations.Select; 6 import org.apache.ibatis.annotations.Update; 7 import org.springframework.stereotype.Repository; 8 9 import java.util.List; 10 @Repository 11 public interface ScottMapper { 12 @Select("select * from dept") 13 List<Scott> selectOneList(); 14 15 @Select("select d.dname,e.* from dept d,emp e where e.deptno=d.deptno") 16 List<Scott> selectAll(); 17 18 @Select("select d.dname,e.* from dept d,emp e where e.deptno=d.deptno and e.empno=#{primaryKey}") 19 Scott selectPrimaryKey(Integer primaryKey); 20 21 @Select("select d.dname,e.* from dept d,emp e where e.deptno=d.deptno and e.deptno=#{foreignKey}") 22 List<Scott> selectForeign(Integer foreignKey); 23 24 @Insert("insert into emp(empno,ename,sal,deptno) values(#{empno},#{ename},#{sal},#{deptno})") 25 int insertScott(Scott scott); 26 27 @Update("update emp set ename=#{ename},sal=#{sal},deptno=#{deptno} where empno=#{empno}") 28 int updateScott(Scott scott); 29 30 @Delete("delete from emp where empno=#{primaryKey}") 31 int deleteScott(Integer primaryKey); 32 }ScottMapper.java
5、在java目录下的com.service包下创建业务层接口和实现类
1 package com.service; 2 3 import com.pojo.Scott; 4 5 import java.util.List; 6 7 public interface ScottService { 8 List<Scott> downoption(); 9 List<Scott> show(); 10 Scott info(Integer primaryKey); 11 List<Scott> optionCondition(Integer foreignKey); 12 int add(Scott emp); 13 int edit(Scott emp); 14 int del(Integer primaryKey); 15 }ScottService.java
1 package com.service; 2 import com.mapper.ScottMapper; 3 import com.pojo.Scott; 4 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.stereotype.Service; 6 7 import java.util.List; 8 /* 9 @Service的功能等同于代理对象在spring的xml文件中动态添加bean节点, 10 如果不指定名称,则底层代理在构建bean节点的时候id是类的第一个首字母小写 11 <bean id="empServiceImpl"/> 12 @Service(value = "empse")的功能等同于代理对象在spring的xml文件中动态添加id值为empse的bean节点 13 <bean id="empse"/> 14 */ 15 @Service 16 public class ScottServiceImpl implements ScottService { 17 /* 18 @Autowired是spring的资源包下注解,按照对象的类型进行自动注入, 19 和对象名称无关,只要类型是匹配的,代理就会在你需要的时候给你注入对象值 20 @Resource是javax包下的注解,按照对象属性名进行注入, 21 和对象名称关系密切,如果对象名称不匹配,则不能完成注入,会报错 22 总结:相比而言,使用@Resource的出错记录更大,因此我们常规选择使用@Autowired 23 */ 24 @Autowired 25 private ScottMapper scottMapper; 26 27 @Override 28 public List<Scott> downoption() { 29 return scottMapper.selectOneList(); 30 } 31 32 @Override 33 public List<Scott> show() { 34 return scottMapper.selectAll(); 35 } 36 37 @Override 38 public Scott info(Integer primaryKey) { 39 return scottMapper.selectPrimaryKey(primaryKey); 40 } 41 42 @Override 43 public List<Scott> optionCondition(Integer foreignKey) { 44 return scottMapper.selectForeign(foreignKey); 45 } 46 47 @Override 48 public int del(Integer primaryKey) { 49 return scottMapper.deleteScott(primaryKey); 50 } 51 52 @Override 53 public int add(Scott scott) { 54 return scottMapper.insertScott(scott); 55 } 56 57 @Override 58 public int edit(Scott scott) { 59 return scottMapper.updateScott(scott); 60 } 61 }ScottServiceImpl.java
6、在java目录下的com.controller包下创建控制类CenterController.java
1 package com.controller; 2 import com.pojo.Scott; 3 import com.service.ScottService; 4 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.stereotype.Controller; 6 import org.springframework.ui.Model; 7 import org.springframework.web.bind.annotation.RequestMapping; 8 import org.springframework.web.bind.annotation.ResponseBody; 9 10 import javax.servlet.http.HttpSession; 11 import java.util.HashMap; 12 import java.util.List; 13 import java.util.Map; 14 @Controller 15 public class CenterController { 16 @Autowired 17 private ScottService scottService; 18 19 @RequestMapping("/option.do") 20 public String optionData(HttpSession session){ 21 List<Scott> deptlist=scottService.downoption(); 22 session.setAttribute("deptlist",deptlist); 23 return "redirect:/main.jsp"; 24 } 25 26 @RequestMapping("/show.do") 27 @ResponseBody 28 public Map<String,Object> showData(Integer foreignKey){ 29 Map<String,Object> map=new HashMap<String,Object>(); 30 List<Scott> emplist=null; 31 //根据部门编号条件查询 32 if(foreignKey!=-1){ 33 emplist=scottService.optionCondition(foreignKey); 34 }else{ //查询所有 35 emplist=scottService.show(); 36 } 37 map.put("emplist",emplist); 38 return map; 39 } 40 41 42 @RequestMapping("/info.do") 43 public String info(Integer primaryKey, Model model){ 44 Scott emp=scottService.info(primaryKey); 45 model.addAttribute("emp2",emp); 46 return "/edit.jsp"; 47 } 48 49 50 @RequestMapping("/edit.do") 51 public String edit(Scott emp){ 52 //根据主键编号查询只有一条数据 53 System.out.println(scottService.edit(emp)>0?"edit success":"edit fail");; 54 //使用重定向跳转 55 return "redirect:/main.jsp"; 56 } 57 58 @RequestMapping("/add.do") 59 public String add(Scott emp){ 60 //根据主键编号查询只有一条数据 61 System.out.println(scottService.add(emp)>0?"add success":"add fail");; 62 //使用重定向跳转 63 return "redirect:/main.jsp"; 64 } 65 66 @RequestMapping("/del.do") 67 public String del(Integer primaryKey){ 68 //根据主键编号查询只有一条数据 69 System.out.println(scottService.del(primaryKey)>0?"del success":"del fail");; 70 //使用重定向跳转 71 return "redirect:/main.jsp"; 72 } 73 }CenterController.java
7、在resouces目录下创建log4j.properties日志文件
1 log4j.rootLogger=DEBUG, Console 2 #Console 3 log4j.appender.Console=org.apache.log4j.ConsoleAppender 4 log4j.appender.Console.layout=org.apache.log4j.PatternLayout 5 log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n 6 7 log4j.logger.org.apache=INFO 8 log4j.logger.java.sql.ResultSet=INFO 9 log4j.logger.java.sql.Connection=DEBUG 10 log4j.logger.java.sql.Statement=DEBUG 11 log4j.logger.java.sql.PreparedStatement=DEBUGlog4j.properties
8、在webapp目录下的WEB-INF文件夹下创建springmvc-servlet.xml核心配置文件,和web.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:aop="http://www.springframework.org/schema/aop" 5 xmlns:context="http://www.springframework.org/schema/context" 6 xmlns:tx="http://www.springframework.org/schema/tx" 7 xmlns:mvc="http://www.springframework.org/schema/mvc" 8 xsi:schemaLocation="http://www.springframework.org/schema/beans 9 http://www.springframework.org/schema/beans/spring-beans.xsd 10 http://www.springframework.org/schema/aop 11 http://www.springframework.org/schema/aop/spring-aop.xsd 12 http://www.springframework.org/schema/context 13 http://www.springframework.org/schema/context/spring-context.xsd 14 http://www.springframework.org/schema/tx 15 http://www.springframework.org/schema/tx/spring-tx.xsd 16 http://www.springframework.org/schema/mvc 17 http://www.springframework.org/schema/mvc/spring-mvc.xsd 18 "> 19 <!--1.mvc注解驱动--> 20 <mvc:annotation-driven/> 21 <!--2.全局扫描包--> 22 <context:component-scan base-package="com"/> 23 <!--3.驱动管理数据源--> 24 <bean id="dataSource"> 25 <property name="driverClassName" value="com.MysqL.jdbc.Driver"/> 26 <property name="url" value="jdbc:MysqL://localhost:3306/ar"/> 27 <property name="username" value="root"/> 28 <property name="password" value="123456"/> 29 </bean> 30 <!--4.数据源事务管理--> 31 <bean id="transactionManager"> 32 <property name="dataSource" ref="dataSource"/> 33 </bean> 34 <!--5.事务注解驱动--> 35 <tx:annotation-driven transaction-manager="transactionManager"/> 36 <!--6.sqlsessionfacotrybean--> 37 <bean id="sqlSessionFactory"https://www.jb51.cc/tag/sql/" target="_blank">sqlSessionfactorybean"> 38 <property name="dataSource" ref="dataSource"/> 39 </bean> 40 <!--7.映射扫描参数--> 41 <beanhttps://www.jb51.cc/tag/fig/" target="_blank">figurer"> 42 <property name="basePackage" value="com.mapper"/> 43 </bean> 44 </beans>springmvc-servlet.xml
1 <!DOCTYPE web-app PUBLIC 2 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 3 "http://java.sun.com/dtd/web-app_2_3.dtd" > 4 5 <web-app> 6 <filter> 7 <filter-name>Character</filter-name> 8 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 9 <init-param> 10 <param-name>encoding</param-name> 11 <param-value>UTF-8</param-value> 12 </init-param> 13 </filter> 14 <filter-mapping> 15 <filter-name>Character</filter-name> 16 <url-pattern>/*</url-pattern> 17 </filter-mapping> 18 <servlet> 19 <servlet-name>springmvc</servlet-name> 20 <servlet-class>org.springframework.web.servlet.dispatcherServlet</servlet-class> 21 </servlet> 22 <servlet-mapping> 23 <servlet-name>springmvc</servlet-name> 24 <url-pattern>*.do</url-pattern> 25 </servlet-mapping> 26 <welcome-file-list> 27 <welcome-file>option.do</welcome-file> 28 </welcome-file-list> 29 </web-app>web.xml
10、在webapp目录下创建js目录,且将jquery的库文件jquery-1.8.3.js拷贝进去
11、在webapp目录下创建main.jsp文件
1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 2 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 <%@ page isELIgnored="false" %> 4 <html> 5 <head> 6 <title>首页</title> 7 <script type="text/javascript" src="js/jquery-1.8.3.js"></script> 8 <script type="text/javascript" src="js/show.js"></script> 9 </head> 10 <body> 11 <a href="add.jsp">添加</a> 12 <p> 13 <span>部门:</span> 14 <select name="foreignKey"> 15 <option value="-1">--请选择--</option> 16 <c:forEach var="i" items="${deptlist}"> 17 <option value="${i.deptno}">${i.dname}</option> 18 </c:forEach> 19 </select> 20 <input type="button" value="查询"> 21 </p> 22 <table></table> 23 </body> 24 </html>main.jsp
12、在webapp目录的js目录下创建show.js文件
1 $(function () { 2 //初始化查询所有 3 initData(-1); 4 //下拉列表条件查 5 $("[type=button]").click(function () { 6 var foreignKey=$("[name=foreignKey]").val(); 7 initData(foreignKey) 8 }); 9 10 }); 11 12 function initData(foreignKey) { 13 $.ajax({ 14 url:"show.do", 15 type:"post", 16 dataType:"json", 17 data:{"foreignKey":foreignKey}, 18 async:true, 19 success:function (obj) { 20 //将值打印在控制台 21 console.log(obj); 22 //为了防止频繁发送请求重复拼接问题,因此在拼接数据之前,先清楚原有的数据内容 23 $("table").html(" "); 24 var str=" <tr>"; 25 str+=" <th>员工编号</th>"; 26 str+=" <th>员工姓名</th>"; 27 str+=" <th>员工工资</th>"; 28 str+=" <th>部门名称</th>"; 29 str+=" <th>操作</th>"; 30 str+=" </tr>"; 31 for(var i=0;i<obj.emplist.length;i++){ 32 str+="<tr>"; 33 str+="<td>"+obj.emplist[i].empno +"</td>"; 34 str+="<td>"+obj.emplist[i].ename +"</td>"; 35 str+="<td>"+obj.emplist[i].sal +"</td>"; 36 str+="<td>"+obj.emplist[i].dname+"</td>"; 37 str+="<td>" + 38 "<a href='info.do?primaryKey="+obj.emplist[i].empno+"'>修改</a>" + 39 "|" + 40 "<a href='del.do?primaryKey="+obj.emplist[i].empno+"'>删除</a>" + 41 "</td>"; 42 str+="</tr>"; 43 } 44 $("table").append(str); 45 }, 46 error:function () { 47 alert("get data error"); 48 } 49 }); 50 }show.js
13、在webapp目录下创建add.jsp文件
1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 2 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 <%@ page isELIgnored="false" %> 4 <html> 5 <head> 6 <title>添加信息</title> 7 </head> 8 <body> 9 <fieldset> 10 <legend>添加员工信息</legend> 11 <form action="add.do" method="post"> 12 <table> 13 <tr> 14 <th>部门名称:</th> 15 <td> 16 <select name="dept.deptno"> 17 <option value="-1">--请选择--</option> 18 <c:forEach var="i" items="${deptlist}"> 19 <option value="${i.deptno}">${i.dname}</option> 20 </c:forEach> 21 </select> 22 </td> 23 </tr> 24 <tr> 25 <th>员工编号:</th> 26 <td><input type="text" name="empno"/></td> 27 </tr> 28 <tr> 29 <th>员工姓名:</th> 30 <td><input type="text" name="ename" /></td> 31 </tr> 32 <tr> 33 <th>员工薪资:</th> 34 <td><input type="text" name="sal" /></td> 35 </tr> 36 <tr> 37 <td colspan="2" align="center"> 38 <input type="submit" value="提交"/> 39 <input type="reset" value="重置"/> 40 </td> 41 </tr> 42 </table> 43 </form> 44 </fieldset> 45 </body> 46 </html>add.jsp
14、在webapp目录下创建edit.jsp文件
1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 2 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 3 <%@ page isELIgnored="false" %> 4 <html> 5 <head> 6 <title>编辑信息</title> 7 </head> 8 <body> 9 <fieldset> 10 <legend>编辑员工信息</legend> 11 <form action="edit.do?empno=${emp2.empno}" method="post"> 12 <table> 13 <tr> 14 <th>部门名称:</th> 15 <td> 16 <select name="dept.deptno"> 17 <option value="-1">--请选择--</option> 18 <c:forEach var="i" items="${deptlist}"> 19 <c:choose> 20 <c:when test="${emp2.dept.deptno eq i.deptno}"> 21 <option value="${i.deptno}" selected="selected">${i.dname}</option> 22 </c:when> 23 <c:otherwise> 24 <option value="${i.deptno}">${i.dname}</option> 25 </c:otherwise> 26 </c:choose> 27 </c:forEach> 28 </select> 29 </td> 30 </tr> 31 <tr> 32 <th>员工姓名:</th> 33 <td><input type="text" name="ename" value="${emp2.ename}"/></td> 34 </tr> 35 <tr> 36 <th>员工薪资:</th> 37 <td><input type="text" name="sal" value="${emp2.sal}"/></td> 38 </tr> 39 <tr> 40 <td colspan="2" align="center"> 41 <input type="submit" value="提交"/> 42 <input type="reset" value="重置"/> 43 </td> 44 </tr> 45 </table> 46 </form> 47 </fieldset> 48 49 </body> 50 </html>edit.jsp
15、部署启动运行
此文章为原创,转载请注明出处!需要本案例源码,理论讲解视频,代码操作视频的,请私信联系作者!
8、SpringMVC整合Mybatis之Controller
springmvc.xml
在resources/spring
文件下创建springmvc.xml文件,配置处理器映射器、适配器、视图解析器。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- 扫描controller,指定controller的包-->
<context:component-scan base-package="com.tianlang.controller"></context:component-scan>
<!-- 使用mvc:annotation-driven代替配置RequestMappingHandlerMapping和RequestMappingHandlerAdapter
-->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 视图解析器解析jsp,默认使用jstl,classpath下要有jstl的包-->
<bean>
<!-- 配置jsp路径的前缀 -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 配置jsp路径的后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
</beans>
配置web.xml
参考入门程序,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"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>springmvcstudy</display-name>
<!-- 加载spring容器 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/classes/spring/applicationContext-*.xml</param-value>
<!-- <param-value>classpath:spring/applicationContext-*.xml</param-value>-->
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- springmvc 前端控制器 -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
这个文件有两个作用:
- 配置前端控制器(
DispatcherServlet
) - 加载spring容器:添加spring容器监听器,加载spring容器,使用通配符加载
spring/
下的配置文件- applicationContext-dao.xml
- applicationContext-service.xml
- applicationContext-transaction.xml
编写Controller(就是Handler)
package com.tianlang.controller;
import com.tianlang.po.Items;
import com.tianlang.po.ItemsCustom;
import com.tianlang.service.ItemsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.List;
//使用@Controller来标识它是一个控制器
@Controller
public class ItemsController {
@Autowired
private ItemsService itemsService;
@RequestMapping("/queryItems")
public ModelAndView queryItems() throws Exception{
//调用service查找数据库,查询商品列表
List<ItemsCustom> itemsList = itemsService.findItemsList(null);
//返回ModelAndView
ModelAndView modelAndView = new ModelAndView();
//相当于request的setAttribute方法,在jsp页面中通过itemsList取数据
modelAndView.addObject("itemsList",itemsList);
//指定视图
//下边的路径,如果在视图解析器中配置jsp的路径前缀和后缀,修改为items/itemsList
//modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
//下边的路径配置就可以不在程序中指定jsp路径的前缀和后缀
modelAndView.setViewName("items/itemsList");
return modelAndView;
}
}
编写jsp
服务器路径为WEB-INF/jsp/items/itemsList.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!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>查询商品列表</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/item/queryItem.action" method="post">
查询条件:
<table width="100%" border=1>
<tr>
<td><input type="submit" value="查询"/></td>
</tr>
</table>
商品列表:
<table width="100%" border=1>
<tr>
<td>商品名称</td>
<td>商品价格</td>
<td>生产日期</td>
<td>商品描述</td>
<td>操作</td>
</tr>
<c:forEach items="${itemsList }" var="item">
<tr>
<td>${item.name }</td>
<td>${item.price }</td>
<td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${item.detail }</td>
<td><a href="${pageContext.request.contextPath }/item/editItem.action?id=${item.id}">修改</a></td>
</tr>
</c:forEach>
</table>
</form>
</body>
</html>
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
最近想学习AngularJS的使用,网上搜了一圈后,折腾了半天解决bug后,成功使用AngularJS整合Springmvc、Spring、Mybatis搭建了一个开发环境。(这里Spring使用的版本是4.0.6,Mybatis版本是3.2.5,AngularJS的版本是1.0.3)
第一步:创建一Maven项目,在pom.xml下添加需要的包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>test.AngularSpringmvcMybatis</groupId> <artifactId>AngularSpringmvcMybatis</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>AngularSpringmvcMybatis Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.5</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.6.8</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency> <dependency> <groupId>asm</groupId> <artifactId>asm</artifactId> <version>3.3</version> </dependency> <dependency> <groupId>asm</groupId> <artifactId>asm-commons</artifactId> <version>3.3</version> </dependency> <dependency> <groupId>asm</groupId> <artifactId>asm-tree</artifactId> <version>3.3</version> </dependency> <dependency> <groupId>ognl</groupId> <artifactId>ognl</artifactId> <version>3.0.6</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.12</version> </dependency> </dependencies> <build> <finalName>AngularSpringmvcMybatis</finalName> </build> </project>
第二步:在src/main/resources下添加配置文件,如下:
(注:如果刚创建的maven项目中没显示src/main/resources与src/test/java目录,可以右键项目,再properties,在Java Build Path中,将JRE System Library修改为1.7版本,如下)
配置文件中applicationContext.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:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> <!-- 自动扫描 --> <context:component-scan base-package="com.hin.dao" /> <context:component-scan base-package="com.hin.service" /> <!-- 配置数据源 --> <bean id="dataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/db_news"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean> <!-- 配置mybatis的sqlSessionFactory --> <bean id="sqlSessionFactory"> <property name="dataSource" ref="dataSource" /> <!-- 自动扫描mappers.xml文件 ,要加上classpath:com/...--> <property name="mapperLocations" value="classpath:com/hin/mappers/*.xml"></property> <!-- mybatis配置文件 --> <property name="configLocation" value="classpath:mybatis-config.xml"></property> </bean> <!-- DAO接口所在包名,Spring会自动查找其下的类 --> <bean> <property name="basePackage" value="com.hin.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --> <bean id="transactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 配置事务通知属性 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <!-- 定义事务传播属性 --> <tx:attributes> <tx:method name="insert*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="edit*" propagation="REQUIRED" /> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="add*" propagation="REQUIRED" /> <tx:method name="new*" propagation="REQUIRED" /> <tx:method name="set*" propagation="REQUIRED" /> <tx:method name="remove*" propagation="REQUIRED" /> <tx:method name="delete*" propagation="REQUIRED" /> <tx:method name="change*" propagation="REQUIRED" /> <tx:method name="get*" propagation="REQUIRED" read-only="true" /> <tx:method name="find*" propagation="REQUIRED" read-only="true" /> <tx:method name="load*" propagation="REQUIRED" read-only="true" /> <tx:method name="*" propagation="REQUIRED" read-only="true" /> </tx:attributes> </tx:advice> <!-- 配置事务切面 --> <aop:config> <aop:pointcut id="serviceOperation" expression="execution(* com.hin.service.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" /> </aop:config> </beans>
spring-mvc.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:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> <mvc:annotation-driven /> <mvc:resources mapping="/resources/**" location="/resources/" /> <bean id="velocityConfig"> <property name="resourceLoaderPath" value="/WEB-INF/html/"/> </bean> <!-- 使用注解的包,包括子集 --> <context:component-scan base-package="com.hin.controller" /> <bean id="viewResolver"> <property name="cache" value="true"/> <property name="prefix" value=""/> <property name="suffix" value=".html"/> <property name="exposeSpringMacroHelpers" value="true"/> </bean> </beans>
完后配置web.xml,如下:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <!-- Spring配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- 编码过滤器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- Spring监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 添加对springmvc的支持 --> <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:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <!-- <async-supported>true</async-supported> --> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
第三步:编写各个Java类,以下是用户控制器(实现db_news数据库中t_user表的用户添加与用户删除)
package com.hin.controller; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.hin.entity.User; import com.hin.service.UserService; @Controller @RequestMapping("/users") public class UserController { @Resource private UserService userService; @RequestMapping("/userlist.json") public @ResponseBody List<User> getUserList() { return userService.getAllUsers(); } @RequestMapping(value = "/addUser/{userName}", method = RequestMethod.POST) public @ResponseBody void addUser(@PathVariable("userName") String userName) { userService.addUser(userName); } @RequestMapping(value = "/removeUser/{userName}", method = RequestMethod.DELETE) public @ResponseBody void removeUser(@PathVariable("userName") String userName) { userService.deleteUser(userName); } @RequestMapping(value = "/removeAllUsers", method = RequestMethod.DELETE) public @ResponseBody void removeAllUsers() { userService.deleteAll(); } @RequestMapping("/layout") public String getUserPartialPage() { return "users/layout"; } }
第四步:引入angular的js文件,如下:
这里使用Angular来实现添加用户与删除用户功能主要是UserController.js,如下:
''use strict''; /** * UserController */ var UserController = function($scope, $http) { $scope.fetchUsersList = function() { $http.get(''users/userlist.json'').success(function(userList){ $scope.users = userList; }); }; $scope.addNewUser = function(newUser) { $http.post(''users/addUser/'' + newUser).success(function() { $scope.fetchUsersList(); }); $scope.userName = ''''; }; $scope.removeUser = function(user) { $http.delete(''users/removeUser/'' + user).success(function() { $scope.fetchUsersList(); }); }; $scope.removeAllUsers = function() { $http.delete(''users/removeAllUsers'').success(function() { $scope.fetchUsersList(); }); }; $scope.fetchUsersList(); };
关于Angular的其他文件具体可看源码,最后再右键项目,Run as,Maven install,再发布到Tomcat下就可以看到效果了,如下:
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境就完成了,希望对大家的学习有所帮助。
- 使用maven整合Spring+SpringMVC+Mybatis框架详细步骤(图文)
- springboot+springmvc+mybatis项目整合
- Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(图文)
- Spring+SpringMVC+MyBatis整合详细教程(SSM)
- 一步步教你整合SSM框架(Spring MVC+Spring+MyBatis)详细教程
- SpringMVC4 + MyBatis3 + SQL Server 2014整合教程(含增删改查分页)
- 详解spring+springmvc+mybatis整合注解
- SpringMVC整合mybatis实例代码
- MyBatis SpringMVC整合实现步骤详解
我们今天的关于整合mybatis、spring、springMVC后,SQL语句自动提示如何在idea中设置?的分享就到这里,谢谢您的阅读,如果想了解更多关于6、SpringMVC整合Mybatis之Mapper、6、spring注解+springMVC注解+Mybatis注解+log4j+idea+maven、8、SpringMVC整合Mybatis之Controller、AngularJS整合Springmvc、Spring、Mybatis搭建开发环境的相关信息,可以在本站进行搜索。
本文标签: