idea整合 spring boot jsp mybatis

Posted 笑~笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了idea整合 spring boot jsp mybatis相关的知识,希望对你有一定的参考价值。

springboot  开发起来确实要简单许多 ,spring boot  包含了 spring mvc ;内置tomcat   ;启动只需要主方法即可

 

1.使用idea新建一个spring boot项目   

  file----new 一个project  选择  Spring Initializr   然后next

    

   到这里一个基本的springboot项目已经可以了


 

    接下来我们新建4个包 ; controller    ,dao  ,  entity,  service

    


     基本目录建好以后,开始配置    application.properties   视图解析路径  以及数据库配置

    

#前端视图展示采用jsp
spring.mvc.view.prefix=/jsp/
spring.mvc.view.suffix=.jsp


#数据库配置

spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.mapper-locations=classpath:mapper/*.xml

#指定端口号,如果不指定,默认为8080
server.port=8090
#指定context path 就是给访问加上指定的路径 ,如果不指定 就没有加上任何前缀路径
server.servlet.context-path=/test

   视图和数据库配置好以后,接下来编写mapper文件和sql语句

   我们在源文件下添加mapper文件夹

    再编写我们用于测试的mapper也就是mybatis写sql语句的;就取名叫UserMapper.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.example.demo.dao.UserDao">  //这里是接口的路径
    <select id="getList" resultType="com.example.demo.entity.User">
        select id,name,password from  tb_user
    </select>
</mapper>

     xml写好以后,我们开始写dao层接口和返回的entity类

public class User {


    private  String  id;
    private String name;
    private  String  password;

    public String getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getPassword() {
        return password;
    }

接口

public interface UserDao {
    List<User> getList();

}

service

 

@Service
public class UserService {

    @Autowired
    private UserDao userdao;

    public List<User> getList(){
        return userdao.getList();
    }
}

最后编写我们的访问层

@Controller
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/test")
    @ResponseBody
    public List<User> test01(){
        System.out.println(123);
        return userService.getList();
    }

    @RequestMapping("/test2")
    public String test02(){
        System.out.println(1234);
        return "index";
    }

}

 到这一步不访问页面的配置基本完成了,现在回来看项目启动类;和java目录同级

   

@SpringBootApplication
@MapperScan("com.example.demo.dao")//扫描接口
public class DemoApplication {

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

   这个时候已经可以正常启动项目了。直接运行此main方法;


 

    添加页面和js案例

      首页页面时默认放在webapp文件下的,我们先建一个webapp文件夹

 

       在webapp文件下建jsp和static两个文件,一个用于放置页面,一个用于放置js

 

      jsp页面

 

        

<head>


</head>
<body>

123456

<script type="text/javascript" src="../static/My.js"></script>
<script type="text/javascript">
    alert(test());
</script>

</body>

js文件

  

function test() {
    return 1;
}

 

 

   到这里案例已经完成啦;访问第一个返回json格式的数据。访问第二个返回页面。并且引用了js文件

  最下面是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.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.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>
//引入web项目所需jar包 <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> <!-- tomcat 的支持.--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <!-- MySql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.9</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

         如果案例写出来有问题。启动不了。或者访问404;请先修改文件目录和此案例一样,然后再自己理解和修改

    最后给出整个项目的的结构图

   

————————————————————————————————————————————————————————————————————————

 

 

整合html

依赖还是一样

目录结构

 

 

 

controller

 

 

 

yml配置

server:
  port: 8081
spring:
  thymeleaf:
    prefix: classpath:/templates/html/
    cache: false
    suffix: .html

 

以上是关于idea整合 spring boot jsp mybatis的主要内容,如果未能解决你的问题,请参考以下文章

Java之Spring Boot入门到精通IDEA版SpringBoot整合其他框架Junit,Redis,MyBatis(一篇文章精通系列)中

spring boot2 整合Mybatis (特别完整!)

Spring Boot 整合mybatis时遇到的mapper接口不能注入的问题

spring boot 整合jsp

spring boot 系列之七:SpringBoot整合Mybatis

spring-boot1.5.6整合dubbo-spring-boot-start2.0.0