前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >springboot集成mybatis+jsp项目结构: pom配置文件如果想将mapper文件和dao层放在一起如下图:将配置文件修改为

springboot集成mybatis+jsp项目结构: pom配置文件如果想将mapper文件和dao层放在一起如下图:将配置文件修改为

作者头像
用户5899361
发布于 2020-12-07 06:16:04
发布于 2020-12-07 06:16:04
60900
代码可运行
举报
文章被收录于专栏:学习java的小白学习java的小白
运行总次数:0
代码可运行

项目结构:

pom配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.1.RELEASE</version>
  </parent>
  <dependencies>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!--jsp页面使用jstl标签-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
    </dependency>

    <!--用于编译jsp-->
    <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.39</version>
      </dependency>
      <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
    <!-- 去除模板引擎  引用jsp-->
    <!--<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
      <version>1.4.0.RELEASE</version>
    </dependency>-->
      <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <version>1.5.1.RELEASE</version>
      </dependency>

    <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
      <!--<scope>provided</scope>-->
    </dependency>

    <dependency>
      <groupId>net.sourceforge.nekohtml</groupId>
      <artifactId>nekohtml</artifactId>
      <version>1.9.22</version>
    </dependency>

    <!--引入mybatis依赖-->
    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.3.1</version>
    </dependency>

  </dependencies>

2.dao层

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.dao;

import com.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 因为springboot 集成jpa写sql需要继承extends JpaRepository<User,Long>
 *     mybatis不需要  所以注释掉
 */
@Repository
public interface UserDao /*extends JpaRepository<User,Long> */{


    @Select(" select * from User  ")
   // @Query("from user")   jpa语句
    List<User> getAllUser();

    @Insert("insert into user(name,password) VALUES(#{name},#{password})")
    int addUser(User user);
}

3.service

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.userService;

import com.dao.UserDao;
import com.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

@org.springframework.stereotype.Service
public class UserServiceImpl implements UserService {

    @Autowired
   private UserDao userdao;

    @Override
    public List<User> getUserList() {
        List<User> list=userdao.getAllUser();
        return list;
    }

    @Override
    public int addUser(User user) {
        int result=userdao.addUser(user);
        return result;
    }
}

4.Controller

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.coller;

import com.pojo.User;
import com.userService.UserServiceImpl;
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 org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

@Controller
public class UserController {

    @Autowired
    private UserServiceImpl userService;

    @RequestMapping("/")
    public String index(Model model){

        List<User> list=userService.getUserList();
        model.addAttribute("user",list);
        return "/test";
    }


    @ResponseBody
    @RequestMapping("add")
    public String add(User user){
       int i= userService.addUser(user);
       System.out.print(i);
        return "1" ;
    }
}

5.配置文件为application.properties类型的如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server.port=8888
server.tomcat.uri-encoding=utf-8

#MySQL
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
#Spring Data JPA
spring.jpa.database=MYSQL
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
# Naming strategy
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

#springmvc
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp

application.yml的配置文件如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server:
  #端口号
  port: 8080

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
  mvc:
    view:
      prefix: /WEB-INF/
      suffix: .jsp


mybatis:
 # mapper-locations: classpath:mybatis/mapper/*.xml
  type-aliases-package: com.bdqn.pojo

6.启动类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.Test;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;


@SpringBootApplication
@ComponentScan(basePackages = "com")
@MapperScan("com.dao")
public class hehe  extends SpringBootServletInitializer {



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

7.jpa注解扫描类(如果用mybatis可以不写这个类)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com;

import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@Order(Ordered.HIGHEST_PRECEDENCE)
@Configuration
@EnableTransactionManagement(proxyTargetClass = true)
@EnableJpaRepositories(basePackages = "com.dao")
@EntityScan(basePackages = "com.pojo")
public class JpaConfiguration {
    @Bean
    PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor(){
        return new PersistenceExceptionTranslationPostProcessor();
    }
}

如果想将mapper文件和dao层放在一起如下图:

将配置文件修改为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server:
  #端口号
  port: 8080

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    username: XXX
    password: XXX
    url: jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
  mvc:
    view:
      prefix: /WEB-INF/
      suffix: .jsp


mybatis:
 #指定实体类位置
  type-aliases-package: com.bdqn.pojo

pom文件中<build>标签中添加如下配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--指定mapper存放路径-->
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
      <!--指定配置文件存放路径-->
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.properties</include>
            <include>**/*.yml</include>
        </includes>
        <filtering>false</filtering>
      </resource>
    </resources>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SpringBoot整合ORM开发框架MyBatis和JPA
1、在使用Spring整合ORM组件的过程中,为了达到简化的目的,往往会进行大量的配置。利用SpringBoot可以进一步实现配置的简化。SpringBoot整合MyBatis开发框架,MyBatis是一款常用并且配置极为简单的ORM开发框架。其与Spring结合后,可以利用Spring的特征实现DAO接口的自动配置。在SpringBoot中,又对MyBatis框架的整合进行了进一步简化。
别先生
2020/11/26
8290
SpringBoot整合ORM开发框架MyBatis和JPA
Spring Boot 通过注解的方式整合 MyBatis
目前而言,国内大家使用最多的持久层框架可能还是 MyBatis 吧,那既然如此,更强大的 Spring Boot 遇上炽手可热的 MyBatis,又会擦出什么样的火花呢?
村雨遥
2022/06/15
3100
Spring Boot 通过注解的方式整合 MyBatis
SpringBoot使用Mybatis 快速入门
比JDBC要简单点, 对JDBC的一个封装。官网:https://commons.apache.org/proper/commons-dbutils/
憧憬博客
2020/07/21
4450
【Java】SpringBoot整合多数据源JdbcTemplate、Mybatis、Jpa
SpringBoot 整合 JdbcTemplate 多数据源 pom <!-- 引入阿里的数据源--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> application.properties #快捷键alt拉
瑞新
2021/12/06
7760
一起学习Spring boot 2.1.X | 第五篇:Mybatis Druid 数据库(注解版)「建议收藏」
Spring boot :2.1.5RELEASE ;数据库(Mysql、Oracle);Mybatis;阿里云的连接池 : Druid ;
全栈程序员站长
2022/09/15
1720
SpringBoot集成Mybatis
目标:集成Mybatis 工具:IDEA--2020.1 学习目标:框架工具集成 本次学习的工程下载链接放到文本最后面
背雷管的小青年
2020/06/08
9630
SpringBoot集成Mybatis
Spring+SpringMVC+MyBatis整合
1、基本概念 1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以
xiangzhihong
2018/02/05
1.4K0
Spring+SpringMVC+MyBatis整合
快速搭建springboot的ssm(spring + springmvc + mybatis)的maven项目
效果图 controller package com.example.demo.controller; import com.example.demo.dao.UserMapper; imp
瑞新
2020/07/08
6810
快速搭建springboot的ssm(spring + springmvc + mybatis)的maven项目
03. Springboot集成Mybatis-flex(一)
现在主流的Mybatis增强框架有很多,当然项目中最经常使用的还是MybatisPlus为主。但是用过MybatisPlus的小伙伴也知道,对于单表操作,链式的编码方式以及提供的Lambda支持可以简化很多代码量,但是如果多表操作,就显得心有余而力不足了。因此大多数项目中对于多表操作,仍然选择采用XML的编写方式。那么这里介绍一款Mybatis增强框架,号称集成了MybatisPlus等多个框架的优点。那就是Mybatis-Flex。
有一只柴犬
2024/01/25
1.1K0
03. Springboot集成Mybatis-flex(一)
Spring Boot入门系列(十八)mybatis 使用注解实现增删改查,无需xml文件!
之前介绍了Spring Boot 整合mybatis 使用xml配置的方式实现增删改查,还介绍了自定义mapper 实现复杂多表关联查询。虽然目前 mybatis 使用xml 配置的方式 已经极大减轻了配置的复杂度,支持 generator 插件 根据表结构自动生成实体类、配置文件和dao层代码,减轻很大一部分开发量;但是 java 注解的运用发展到今天。约定取代配置的规范已经深入人心。开发者还是倾向于使用注解解决一切问题,注解版最大的特点是具体的 SQL 文件需要写在 Mapper 类中,取消了 Mapper 的 XML 配置 。这样不用任何配置文件,就可以简单配置轻松上手。所以今天就介绍Spring Boot 整合mybatis 使用注解的方式实现数据库操作 。
架构师精进
2020/08/25
3K0
Spring Boot入门系列(十八)mybatis 使用注解实现增删改查,无需xml文件!
SpringBoot 通过注解的方式整合 Mybatis + PageHelper 分页显示
本篇博客主要利用 SpringBoot 通过注解的方式整合 Mybatis 同时利用 PageHelper 对结果分页,所有涉及的代码已经上传 Github mybatis-pagehelper[1]。下面是整个整合过程,接下来开始整合:
村雨遥
2020/08/13
1.4K0
idea创建Springboot+mybatis+mysql
项目开始生成,界面右下角回弹出一个小方框,点击Enable Autop-Import ,idea 会自动下载jar包,时间比较长 (5分钟左右)
故久
2019/09/29
2.5K2
idea创建Springboot+mybatis+mysql
使用idea实现springboot Mybatis 整合(springboot 2.x)
本来这篇博文老在就写好了,但是后来发现很多功能其实根本就没有检验通过就发出来了,导致遗留了很多坑,比如最难搞的就是SqlSessionFactory和PageHelper,之前写过关于springboot1.5.6版本的整合,这段时间刚好springboot发布了2.0的正式版本,很多同学可能没有注意版本,导致了整合的时候出现了很多很多的问题,这几天刚好有空就试着整合一下springboot2.0 mybatis,发现了很多很多的坑,而且网上的资源也不多,终于在两天的踩坑中成功整合了,并且将翻页功能修复好了,废话不多说了,看代码:
凯哥Java
2019/06/30
1.4K0
SpringBoot之Mybatis
前言:群里面经常有人问有木有mybatis的案例,正好有空整合一下。我之前没有用过mybatis,但是跑过简单的增删改查,发现真的很轻量,写sql还比较不错,多表查询也比较方便,但是insert 和update有点麻烦(字段一多写sql会死人)。用了之后我还是希望用jpa,毕竟增删改查都不用自己写,关键可以直接传对象。
王念博客
2019/07/25
5170
spring boot 系列之七:SpringBoot整合Mybatis
springboot已经很流行,但是它仍需要搭配一款ORM框架来实现数据的CRUD,之前已经分享过JdbcTemplete和JPA的整合,本次分享下Mybatis的整合。 对于mybatis的使用,需要创建mapper类和mapper.xml文件,这种创建比较烦,并且基本都是模板样式的,可以通过之前分享的《IDEA中mybatis generator使用》来自动创建完整的文件。由于本次deom中只有一个查询方法,就直接手写了,不再使用该插件了。 代码整体结构:
全栈程序员站长
2022/07/18
1.2K0
spring boot 系列之七:SpringBoot整合Mybatis
9.Spring-Boot之Mybatis-LogBack-Freemarker
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说9.Spring-Boot之Mybatis-LogBack-Freemarker,希望能够帮助大家进步!!!
Java架构师必看
2021/12/03
3260
9.Spring-Boot之Mybatis-LogBack-Freemarker
详细介绍SpringBoot整合SpringSecurity
  本文我们来详细给小伙伴们介绍下SpringBoot整合SpringSecurity的过程,用到的技术为:SpringBoot2.2.1+SpringSecurity+SpringDataJPA+jsp来整合。
用户4919348
2019/12/11
1.1K0
详细介绍SpringBoot整合SpringSecurity
Springboot前后端分离开发
.1.springboot前后端分离开发之前要配置好很多东西,这周会详细补充博客内容和遇到的问题的解析
阮键
2019/08/07
1.1K0
高级框架-SpringBoot【悟空教程】
Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 J2EE)的轻量级代替品。无需开发重量级的 Enterprise JavaBean(EJB),Spring 为企业级 Java 开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的 Java 对象(Plain Old Java Object,POJO)实现了 EJB 的功能。
Java帮帮
2018/08/16
2.5K0
高级框架-SpringBoot【悟空教程】
SSM框架整合:SpringMVC + Spring + MyBatis+Maven
创建一个登陆页面,输入username和password,如果和数据库对应,则跳转的success.jsp,否则跳转到error.jsp
CBeann
2023/12/25
2330
SSM框架整合:SpringMVC + Spring + MyBatis+Maven
相关推荐
SpringBoot整合ORM开发框架MyBatis和JPA
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文