springboot入门 整合ssm框架

来源:互联网 发布:淘宝买的固话办信用卡 编辑:程序博客网 时间:2024/06/01 19:56

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

然后配置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二选一写上即可@Repositorypublic 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;@Servicepublic 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=rootspring.datasource.password=****spring.datasource.driverClassName=com.mysql.jdbc.Driverspring.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>

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

原创粉丝点击