pom.xml中
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bwie</groupId>
<artifactId>zhoukao03</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>zhoukao03</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- <!–redis–>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.3.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- <!– 热启动 Shift+Ctrl+Alt+/ 配置–>
<!–热启动的触发条件是:编译 Ctrl+Shift+F9–>
<!– mybatis–>-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!-- <!– mySql–>-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--<!–freemarker–>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!-- <!–jpa 简化数据访问–>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- <!– import lombok –>-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.8</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.properties中的配置
spring.datasource.url =jdbc:mysql://localhost:3306/***_test spring.datasource.username = root spring.datasource.password = root spring.datasource.driverClassName =com.mysql.jdbc.Driver spring.datasource.max-active=20 spring.datasource.max-idle=8 spring.datasource.min-idle=8 spring.datasource.initial-size=10 #设定ftl文件路径 spring.freemarker.template-loader-path=classpath:/templates #启动request对象在模版中的使用 spring.freemarker.request-context-attribute=request #设定静态资源 spring.mvc.static-path-pattern=/** #默认的页面后缀为.ftl 可以修改为.html server.port=8080 server.context-path=/xiangmu mybatis.type-aliases-package=com.bwie.pojo #redis配置 spring.redis.host=192.168.202.132 spring.redis.port=6379
list.ftl中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"/> <title></title> <#assign ctx = request.contextPath /> <script type="text/javascript" src="jquery-1.10.1.js"></script> <script type="text/javascript"> $(function () { var acounts = []; $(".aa").click(function () { var acount = $(this).prev().val(); if(acount==0){ acount=0; }else{ acount--; } $(this).prev().val(acount); }); $(".bb").click(function () { var acount = $(this).prev().val(); acount++; $(this).prev().val(acount); }); $("input[type='button']").click(function () { var s = []; var acounts = []; var id = $("#id").val(); $("input[name='gids']:checked").each(function () { s.push($(this).val()); var acount = $(this).parent().next().next().next().children().eq(1).val(); acounts.push(acount); }); window.location.href = "/xiangmu/save?uid=" + id + "&id=" + s + "&acounts=" + acounts; }); }); </script> </head> <body> <#if name?exists> ${name} </#if> <table border="1" style="background-color: brown"> <tr> <td>请选择<input id="id" type="hidden" name="id" value="${uid}"/></td> <td>商品名称</td> <td>商品单价</td> <td>商品数量</td> </tr> <#list goods as g> <tr> <td><input type="checkbox" name="gids" value="${g.id}"/></td> <td>${g.gname}</td> <td>${g.price}</td> <td> <button class="aa">-</button> <input class="c" type="text" name="goods_acount" value="${g.acount}"/> <button class="bb">+</button> </td> </tr> </#list> </table> <input type="button" value="保存"/> </body> </html>Mapper接口中controller层package com.bwie.dao; import com.bwie.pojo.Goods; import com.bwie.pojo.Order; import com.bwie.pojo.User; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import java.util.List; /** * Created by Administrator on 2017/8/21. */ @Mapper public interface UserMapper { @Insert("insert into t_user (username,password)values(#{username},#{password})") public void insert(User user); @Select("select * from t_user where username=#{username} and password=#{password}") public User login(User user); @Select("select * from t_goods ") public List<Goods> selectGoods(); @Select("select * from t_user where username=#{username}") public User selectByName(String username); @Select("insert into t_order (user_id,goods_id,goods_acount)values(#{user_id},#{goods_id},#{goods_acount})") public void save(Order order); }
package com.bwie.controller; import com.bwie.pojo.Goods; import com.bwie.pojo.Order; import com.bwie.pojo.User; import com.bwie.service.UserService; import com.bwie.util.JedisUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import redis.clients.jedis.Jedis; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.util.List; /** * Created by Administrator on 2017/8/21. */ @Controller public class UserController { @Autowired private UserService userService; @RequestMapping("insert") public String insert(User user, HttpServletRequest request){ String username = request.getParameter("username"); String password = request.getParameter("password"); //将username和password封装成一个user对象,保存到数据库中 user.setUsername(username); user.setPassword(password); userService.insert(user); //将username作为键,将password作为值,存入到redis数据库中 Jedis jedis = JedisUtils.getJedis(); jedis.set(username,password); return "login"; } @RequestMapping("toinsert") public String toinsert(){ return "insert"; } @RequestMapping("login") public String login(User user, HttpServletRequest request, HttpSession session){ String username = request.getParameter("username"); String password = request.getParameter("password"); //获取jedis对象 Jedis jedis = JedisUtils.getJedis(); //根据username从redis数据库中查询对应的值 String pwd = jedis.get(username); User user1 = userService.selectByName(username); System.out.println("---------------------"+user1.getId()); if(pwd != null && pwd.equals(password)){ session.setAttribute("uid",user1.getId()); session.setAttribute("name",username); return "redirect:select"; }else{ session.setAttribute("mess","y用户名或密码错误"); return "login"; } } @RequestMapping("select") public String select(Model model){ List<Goods> goods = userService.selectGoods(); model.addAttribute("goods",goods); return "list"; } @RequestMapping("save") public String save(Model model,int uid,String [] id,String acounts []){ System.out.println(acounts.toString()); for (int i=0;i<id.length;i++ ) { Order order = new Order(); order.setUser_id(uid); order.setGoods_id(Integer.parseInt(id[i])); System.out.println(Integer.parseInt(acounts[i])); order.setGoods_acount(Integer.parseInt(acounts[i])); userService.save(order); } return "ok"; } }
utils包连接redis的方法package com.bwie.util; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class JedisUtils { /* redis的第一种连接方法 */ private final static JedisPool POOL; static { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(50); config.setMaxIdle(10); POOL = new JedisPool(config, "192.168.202.132", 6379); } public static Jedis getJedis() { return POOL.getResource(); } }
package com.bwie.util; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import javax.annotation.PostConstruct; /** * Created by Administrator on 2017/8/22. */ @Component public class JedisUtils_2 { /* 第二种连接redis的方法 */ @Value("${spring.redis.host}") private String redisHost; @Value("${spring.redis.port}") private Integer redisPort; private JedisPool POOL; @PostConstruct public void initJedisPool() { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(50); config.setMaxIdle(10); POOL = new JedisPool(config, redisHost, redisPort); } @Bean public Jedis getJedis() { return POOL.getResource(); } }