`

Maven + Spring Boot + Mybatis 框架整合

阅读更多

整合过程介绍(开发工具:IntelliJ IDEA 

项目结构如下:



 

1、新建springboot maven项目,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.xieke.test</groupId>
    <artifactId>springbootmybatisdemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springbootmybatisdemo</name>
    <description>Demo project for Spring Boot Mybatis</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.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.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </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>
    </dependencies>

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

</project>

 2、添加application.properties文件到 resources下,配置如下:

server:
    port: 1314

#配置数据源
spring:
    datasource:
        url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
        username: root
        password: 999999
        driver-class-name: com.mysql.jdbc.Driver

#指定mybatis映射文件的地址
mybatis:
    mapper-locations: classpath:mapper/*.xml

# 打印sql
logging:
    level:
        com.xieke.test.dao : debug

 3、SQL初始化文件table.sql,内容如下:

use test;
drop table `user`;
create table `user` (
   `id` int(10) NOT NULL AUTO_INCREMENT,
   `name` varchar(25) NOT NULL,
   `password` varchar(25) NOT NULL,
   PRIMARY KEY (`id`)
 );
insert into `user` (`id`, `name`, `password`) values('1','xieke','999999');
insert into `user` (`id`, `name`, `password`) values('2','43434','324233');
insert into `user` (`id`, `name`, `password`) values('3','34344','343434');

4、控制层、业务层、持久层、实体类代码如下:

package com.xieke.test.controller;

import com.xieke.test.entity.User;
import com.xieke.test.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping(value = "/user")
public class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping(value = "/show")
    @ResponseBody
    public String show(@RequestParam(value = "name")String name){
        User user = userService.findUserByName(name);
        if(null != user)
            return user.getId()+"/"+user.getName()+"/"+user.getPassword();
        else
            return "null";
    }

    @RequestMapping(value = "/show2")
    @ResponseBody
    public String show2(@RequestParam(value = "name")String name, @RequestParam(value = "password")String password){
        User user = userService.findUserByNameAndPassword(name, password);
        if(null != user)
            return user.getId()+"/"+user.getName()+"/"+user.getPassword();
        else
            return "null";
    }

    @RequestMapping(value = "/add")
    @ResponseBody
    public String add(){
        userService.saveUser();
        User user = userService.findUserByName("a123456789");
        if(null != user)
            return user.getId()+"/"+user.getName()+"/"+user.getPassword();
        else
            return "null";
    }

}

  

package com.xieke.test.service;

import com.xieke.test.dao.UserDao;
import com.xieke.test.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
public class UserService {
    @Autowired
    private UserDao userDao;

    public User findUserByName(String name){
        User user = null;
        try{
            user = userDao.findUserByName(name);
        } catch (Exception e){

        }
        return user;
    }

    public User findUserByNameAndPassword(String name, String  password){
        User user = null;
        try{
            User u = new User();
            u.setName(name);
            u.setPassword(password);
            user = userDao.findUserByNameAndPassword(u);
        } catch (Exception e){

        }
        return user;
    }

    @Transactional
    public void saveUser ( ){
        userDao.insertUser("a123456789", "123456789");
        // int n = 1/0;
        // userDao.insertUser("b123456789", "123456789");
    }
}

 

package com.xieke.test.dao;

import com.xieke.test.entity.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface UserDao {
    @Select("SELECT * FROM user WHERE name = #{name}")
    User findUserByName(@Param("name") String name);

    @Insert("INSERT INTO user(name, password) VALUES(#{name}, #{password})")
    int insertUser(@Param("name") String name, @Param("password") String password);

    User findUserByNameAndPassword (User  user);
}

 

package com.xieke.test.entity;

public class User {
    private long id;

    private String name;

    private String password;

    public long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

 

5、启动类代码如下,启动后访问localhost:1314/user/show?name=xieke测试,详细代码请参考码云

 

package com.xieke.test;

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

@SpringBootApplication
@EnableTransactionManagement
public class SpringbootmybatisdemoApplication {

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

}

 

   转载请注明出处:http://xieke90.iteye.com/blog/2423136

  • 大小: 47.4 KB
1
0
分享到:
评论

相关推荐

    构建maven+Spring Boot+Mybatis+redis多模块层级项目

    在构建基于Maven的Spring Boot应用时,我们通常会采用多模块项目结构,以便更好地管理和组织代码。这个项目集成了Spring Boot、Mybatis、Redis以及PageHelper,它们都是Java开发中常用的工具和技术。 1. **Spring ...

    Spring Boot+MySQL+Mybatis+Maven+IDEA(一个简单的数据库增删改查项目)

    在本项目中,我们主要探讨的是如何利用Spring Boot、MySQL、Mybatis以及Maven这四大核心技术,配合IDEA集成开发环境来实现一个基础的数据库增删改查功能。这是一个典型的Web应用开发流程,旨在帮助开发者快速搭建...

    基于idea + springboot + maven + mybatis 开发的拍卖行系统

    基于idea + springboot + maven + mybatis 开发的拍卖行系统 项目经过严格测试,确保可以运行! 基于idea + springboot + maven + mybatis 开发的拍卖行系统 项目经过严格测试,确保可以运行! 基于idea + ...

    idea配置maven+Springboot+mybatis+oracle

    **五、整合Spring Boot和MyBatis** 1. **配置MyBatis-Spring Boot Starter**: 在`pom.xml`中添加MyBatis-Spring Boot Starter依赖,它会自动帮助我们完成MyBatis与Spring Boot的集成。 2. **扫描Mapper**: 在Spring...

    maven+spring+springmvc+mybatis

    综上所述,"maven+spring+springmvc+mybatis"是一个典型的Java Web开发组合,它利用Maven进行项目构建和依赖管理,Spring框架提供核心的IoC和AOP功能,Spring MVC处理Web请求和响应,而MyBatis则负责与数据库的交互...

    spring boot+spring mvc+mybatis+thymeleaf整合开发学生成绩信息管理系统

    项目描述 学生成绩管理系统,有三...spring boot+spring mvc+mybatis+layui+jquery+thymeleaf http://localhost:8080/Sys/loginView 管理员账号 admin admin 老师登录 2020031920 111111 学生账号登录 20200319 111111

    shiro+maven+sringMVC+mybatis

    "Shiro + Maven + SpringMVC + MyBatis" 是一个经典的Java Web开发技术栈,它们各自在应用程序中承担不同的职责。以下是对这些技术及其整合使用的详细解释: **Shiro**: Apache Shiro是一个强大且易用的Java安全...

    Java项目:HIS智能医院管理系统(java+SpringBoot+Vue+Maven+mybatis+Mysql)

    一、项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,...Spring + SpringBoot+ mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。  

    maven+spring+spring mvc+mybatis整合实现ssm通用基础开发框架

    1. **搭建环境**:首先确保安装了Java环境,然后配置Maven,创建Maven项目,并在pom.xml中添加Spring、Spring MVC、MyBatis及它们的依赖。 2. **配置Spring**:创建Spring的配置文件,配置Bean、AOP、数据源、事务...

    maven+nexus+spring+springmvc+mybatis+generator+mysql搭建框架

    本文将详细讲解如何使用"Maven+Nexus+Spring+SpringMVC+MyBatis+Generator+MySQL"搭建一套高效且稳定的开发框架。 首先,让我们从Maven开始。Maven是一个强大的项目管理和依赖管理工具,它通过POM(Project Object ...

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    SSM框架是Java开发中常用的一种组合,由Maven、Spring、Spring MVC和MyBatis四个组件构成,加上MySQL作为数据库支持,形成了一个强大的企业级应用开发基础。下面将详细介绍这些组件及其在搭建环境中扮演的角色。 1....

    基于SpringMVC+Spring+MyBatis个人技术博客系统源码.zip

    博客源码主要涉及技术包括的包括 Maven、Spring、SpringMVC、MyBatis、Redis、JSP等。后台地址:/admin 或者 /login 技术栈 SpringMVC + Spring + MyBatis 运行环境 IDEA + Tomcat8以上 + MySQL5.5以上 注意事项 ...

    Maven+SpringBoot+MyBatis+MySQL实现增删改查源码

    你需要在`pom.xml`中添加SpringBoot的父依赖,并声明所需的SpringBoot起步依赖,如`spring-boot-starter-web`和`spring-boot-starter-data-jpa`。 接下来是MyBatis,它是一个持久层框架,允许开发者用Java编写SQL...

    spring5.x+springmvc5.x+mybatis3.5x+tomcat9+jdk8+maven 项目框架搭建 1.1版本

    本项目框架搭建基于"spring5.x+springmvc5.x+mybatis3.5x+tomcat9+jdk8+maven",这是一个经典且广泛使用的Java开发配置。下面将详细阐述这些组件的功能、相互关系以及如何进行集成。 1. **Spring 5.x**: Spring是...

    SpringBoot+maven+idea+Mybatis+Jsp

    【SpringBoot+maven+idea+Mybatis+Jsp】是一个典型的Java Web开发组合,用于构建高效、简洁的应用程序。这个详细案例将涵盖Spring Boot的快速启动特性,Maven的依赖管理,IntelliJ IDEA的集成开发环境优势,Mybatis...

    spring boot+mybatis+layui实现的项目基本框架

    《基于Spring Boot、MyBatis与Layui的项目基础框架构建详解》 在现代Web应用开发中,Spring Boot以其简化配置、快速启动的优势成为首选的框架。MyBatis作为轻量级持久层框架,提供了灵活的数据访问能力,而Layui则...

    spring-boot+mybatis+mysql+maven整合

    通过Spring Boot、MyBatis、MySQL和Maven的整合,我们可以快速地构建出一个基于Java的Web应用,该应用具备数据持久化能力,且易于管理和扩展。在实际开发中,这种整合方式被广泛应用,因为它既保留了Spring Boot的...

    spring boot+maven+mybatis+mysql

    在本教程中,我们将深入探讨如何使用Eclipse开发工具,结合Spring Boot、Maven、MyBatis和MySQL来创建一个完整的Java Web应用。这四个组件是现代Java开发中的关键技术,它们各自扮演着不同的角色,共同构建了一个...

    Spring+SpringMVC+MyBatis+Shiro+MySQL+Redis+Maven实现的通用权限管理系统

    Spring+SpringMVC+MyBatis+Shiro+MySQL+Redis+Maven+EasyUI+Bootstrap实现的通用权限管理系统。 Spring+SpringMVC+MyBatis+Shiro+MySQL+Redis+Maven+EasyUI+Bootstrap实现的通用权限管理系统 Spring+SpringMVC+...

    maven+spring+mybatis简单合成

    这个组合利用了Maven的项目管理和依赖管理能力,Spring的全面企业级应用框架特性,以及MyBatis的灵活持久层解决方案,为开发者提供了强大的工具集。下面我们将深入探讨这三个关键组件及其相互作用。 首先,Maven是...

Global site tag (gtag.js) - Google Analytics