版权声明:转载请注明原始链接 https://blog.csdn.net/sswqzx/article/details/84590884
开发环境:jdk1.8 tomcat8.5 mybatis springboot2.0 maven工程
项目结构:
1、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>
<!--springBoot父工程-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>
<groupId>com.day01springBoot</groupId>
<artifactId>SpringBoot01</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<!--jdk版本-->
<properties>
<java.version>1.8</java.version>
</properties>
<!--web启动器-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 引入freeMarker的依赖包. -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!--jsp渲染视图-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- jdbcTemplate 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mysql 依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!-- 测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2、配置文件引入application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false
spring.datasource.username=root
spring.datasource.password=sswqzx
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3、相关类
application.java
package com.springboot;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @ Author :ShaoWei Sun.
* @ Date :Created in 10:52 2018/11/27
*/
//扫包注解扫mapper包
@MapperScan("com.springboot.mapper")
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
MyController.java
package com.springboot.controller;
import com.springboot.domain.User;
import com.springboot.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.ResponseBody;
/**
* springboot整合mybatis
* @ Author :ShaoWei Sun.
* @ Date :Created in 19:29 2018/11/28
*/
@Controller
public class MyController {
@Autowired
private UserService userService;
@ResponseBody //将数据以json格式返回给浏览器
@RequestMapping("/finduser")
public User findByName(){
User user = userService.findByName("ssw");
return user;
}
@RequestMapping("/inserts")
public String testInsert(){
String insert ="";
Boolean boos = userService.inserts("bbs", "pswd");
if (boos){
insert = "insert";
}
return insert;
}
}
UserService.java接口
package com.springboot.service;
import com.springboot.domain.User;
/**
* @ Author :ShaoWei Sun.
* @ Date :Created in 17:18 2018/11/28
*/
public interface UserService {
public abstract User findByName(String name);
public abstract Boolean inserts(String name ,String password);
}
UserServiceImpl.java实现类
package com.springboot.service.Impl;
import com.springboot.domain.User;
import com.springboot.mapper.UserMapper;
import com.springboot.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
/**
* @ Author :ShaoWei Sun.
* @ Date :Created in 17:19 2018/11/28
*/
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User findByName(String name) {
return userMapper.findByName(name);
}
@Override
public Boolean inserts(String name, String password){
int num = userMapper.inserts(name, password);
Boolean flag = false;
if (num > 0){
flag = true;
}
return flag;
}
}
UserMapper.java接口
package com.springboot.mapper;
import com.springboot.domain.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @ Author :ShaoWei Sun.
* @ Date :Created in 18:38 2018/11/28
*/
public interface UserMapper {
@Select("select * from user where name = #{name}")
User findByName(@Param("name")String name);
@Insert("insert into user(name,password) values(#{name},#{password})")
int inserts(@Param("name")String name, @Param("password")String password);
}
application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false
spring.datasource.username=root
spring.datasource.password=sswqzx
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
insert.ftl
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title>首页</title>
</head>
<body>
<h1>mybatis整合添加数据</h1>
</body>
</html>
User.java实体类
package com.springboot.domain;
/**
* @ Author :ShaoWei Sun.
* @ Date :Created in 18:40 2018/11/28
*/
public class User {
private int id;
private String name;
private String password;
public int getId() {
return id;
}
public void setId(int 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;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", password='" + password + '\'' +
'}';
}
}
4、测试
http://localhsot:8080/inserts
http://localhost:8080/finduser