springboot入门 整合ssm框架

首先看一下项目目录
项目结构

然后配置pro.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.example</groupId>
    <artifactId>ssmspringboot2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>ssmspringboot2</name>
    <description>Demo project for Spring Boot</description>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.4.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-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--新增所需依赖 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>

        <!-- servlet依赖. -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project> `

实体类

package com.example.demo.domain;

public class User {
    
    
    private Integer id;
    private String username;
    private Integer age;
    private Integer customerid;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getCustomerid() {
        return customerid;
    }

    public void setCustomerid(Integer customerid) {
        this.customerid = customerid;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", age=" + age +
                ", customerid=" + customerid +
                '}';
    }
}

mapper接口

package com.example.demo.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.ResultType;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import com.example.demo.domain.User;

@Mapper //声明是一个Mapper,与springbootApplication中的@MapperScan二选一写上即可
@Repository
public interface UserQueryAll {
    
    
    /**
     * 根据姓名查询数据
     * @param username
     * @return 实体数据
     */
    @Select("SELECT * FROM user WHERE username = #{username}")
    @ResultType(User.class)
    List<User> selectUser(String username);
}

service接口

package com.example.demo.service;

import java.util.List;

import com.example.demo.domain.User;

public interface UserService {
    
    
    /**
     * 根据传入名称获取数据
     * @param name 名称
     * @return 实体类
     */
    public List<User> queryUserByUserName(String username);
}

service实现类

package com.example.demo.service;

import java.util.List;

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

import com.example.demo.dao.UserQueryAll;
import com.example.demo.domain.User;

@Service
public class UserServiceImpl implements UserService{
    
    
     @Autowired
     UserQueryAll mapper;

    @Override
    public List<User> queryUserByUserName(String username) {
        List<User> list = mapper.selectUser(username);
        return list;
    }

}

controller控制层

package com.example.demo.controller;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
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.RestController;

import com.example.demo.domain.User;
import com.example.demo.service.UserService;

/**
 * Created by beyondLi on 2017/6/19.
 */
//证明是controller层并且返回json
@RestController
@EnableAutoConfiguration
@ComponentScan(basePackages={
   
   "com.example.demo.service"})//添加的注解
public class UserQueryController {
    //依赖注入
    @Autowired
    UserService userService;

    /**
     * @RestController代表这个类是用Restful风格来访问的,如果是普通的WEB页面访问跳转时,我们通常会使用@Controller
        value = "/users/{username}" 代表访问的URL是"http://host:PORT/users/实际的用户名"
            method = RequestMethod.GET 代表这个HTTP请求必须是以GET方式访问
        consumes="application/json" 代表数据传输格式是json
        @PathVariable将某个动态参数放到URL请求路径中
        @RequestParam指定了请求参数名称
     */
    @RequestMapping(value = "queryU/{username}",method = RequestMethod.GET)
    public  List<User> queryProduct(@PathVariable String username,HttpServletResponse httpServletResponse) {
        System.out.println(username);
        List<User> ulist = userService.queryUserByUserName(username);
        return ulist;
    }
}

接下来就是项目程序的入口了

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@SpringBootApplication
@EnableTransactionManagement//开启事务管理
public class Ssmspringboot2Application {
    
    

    public static void main(String[] args) {
        SpringApplication.run(Ssmspringboot2Application.class, args);
    }
}

接下来就需要配置application.properties文件
要记得改成自己数据库的数据库名还有用户名和密码。

spring.datasource.url=jdbc:mysql://localhost:3306/test
#用户名和密码
spring.datasource.username=root
spring.datasource.password=****
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.database = mysql
#tomcat端口
server.port=8080
#起别名。可省略写mybatis的xml中的resultType的全路径
mybatis.type-aliases-package=com.example.demo.domain
#Mybatis扫描(配置xml模式使用)
mybatis.mapper-locations=classpath*:mapper/*.xml

最后我们就需要一个前台页面来测试一下了

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Spring boot</title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
//查询的内容
function quary(){
     
     
    var str = $("#username").val();
    alert(str)
     $.ajax({
        url:"queryU/"+str,
        type:"get",
        success : function(data) {
     
     
            alert(data);
            //i循环的次数  value对象 id,name等是属性 <接收list>
            $.each(data, function(i, value) {
     
                               
                        $("#remark").append(
                         " <tr><td>" + value.id + "</td><td>"
                                + value.username + "</td><td>" + value.age
                                + "</td><td>" + value.customerid + "</td></tr>"); 
            }); 
        },
        error:function(){
     
     
            alert("没有找到此人");
        }
    }); 
}

</script>
</head>
<body>
    <form action="">
        查询:<input type="text" id="username" onchange="quary()"/>
        <table class="table table-striped" id="remark">
        <tr>
            <td>id</td>
            <td>名字</td>
            <td>年龄</td>
            <td>**</td>
        </tr>
    </table>
    </form>
</body>
</html>

这样一个基本的整合就完成了,刚学的有不少瑕疵,大家有什么意见可以留言。

扫描二维码关注公众号,回复: 12526584 查看本文章

猜你喜欢

转载自blog.csdn.net/old_wzhou/article/details/78562285