SpringBoot+MyBatis连接数据库

SpringBoot通过MyBatis连接数据库有2种方法:

  • 1.注解
  • 2.XML文件

1.注解

1.构建项目

2.添加依赖:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 引入starter-->
        <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>
        <!-- MySQL的JDBC驱动包  -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!-- 引入第三方数据源 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.6</version>
        </dependency>
    </dependencies>

3.配置属性文件:

#mybatis.type-aliases-package=net.xdclass.base_project.domain
#可以自动识别
#spring.datasource.driver-class-name =com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/movie?useUnicode=true&characterEncoding=utf-8
spring.datasource.username =root
spring.datasource.password =password
#如果不使用默认的数据源 (com.zaxxer.hikari.HikariDataSource)
spring.datasource.type =com.alibaba.druid.pool.DruidDataSource
#控制台打印sql
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

4.启动类(SpringApplication)添加mapper扫描

@MapperScan("net.xdclass.base_project.mapper")

5.开发Mapper,Mapper类是访问数据库的接口

public interface UserMapper{
    @Insert("Insert into user(name,phone,create_time,age) values(#{name},#{phone},#{createTime},#{age})")
    int insert(User user);
}

添加@Options(userGeneratedKeys=true,keyProperty="id",keyColumn="id") //key Property java对象的属性,key Column表示数据库的字段

6.添加User用户(domain)

public class User {

    private int id;

    private String name;

    private String phone;

    private int age;

    private Date createTime;
    xxx(相应的get/set方法)
}

7.添加service层

UserService:
public interface UserService {
    public int add(User user);

}

UserServiceImpl:
@Service
public class UserServiceImpl implements UserService{

@Autowired
private UserMapper userMapper;
    @Override
    public int add(User user) {
        userMapper.insert(user);
        int id = user.getId();
        return id;
    }
}

8.添加Controller层

@RestController
@RequestMapping("/api/v1/user")
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("add")
    public Object add(){
        User user = new User();
        user.setAge(11);
        user.setCreateTime(new Date());
        user.setName("xdclass");
        user.setPhone("10010000");
        int id = userService.add(user);
        return JsonData.buildSuccess(id);
    }
}

9.select,update, delete的使用

1.从数据转成对象

public interface userMapper{
    @Select("select * from user")
    @Results({
    @Result(column="数据库字段1",property="对象的字段1"),
    @Result(column="数据库字段2",property="对象的字段2")
    })
    List<User> getAll();

}

调用的时候(直接在controller给调用了):

    @GetMapping("findAll")
    public Object findAll(){
           return JsonData.buildSuccess(userMapper.getAll());
    }
JsonData类在同层目录下

2.根据id找对象(id怎么传进去-》findById调用的时候传入id)

public interface userMapper{
    @Select("Select * from user where id=#{id}")
    @Results({
    @Result(column="数据库字段1",property="对象的字段1"),
    @Result(column="数据库字段2",property="对象的字段2")
})
    User findById(Long id);
}

3.更新数据库对象

public interface userMapper{
   @Update("UPDATE user SET name=#{name} WHERE id =#{id}")
    void update(User user);
}

4.删除数据库对象

public interface userMapper{
    @Delete("DELETE FROM user WHERE id =#{userId}")
    void delete(Long userId);
}

2.XML文件

https://blog.csdn.net/lr131425/article/details/76269236(这里的model类文件写错了)

主要区别在于怎么样实现Mapper层

XML的代码在https://github.com/Winster-cheng/SpringBoot-JDBC

原文地址:https://www.cnblogs.com/WinseterCheng/p/9982204.html

时间: 2024-11-12 10:51:06

SpringBoot+MyBatis连接数据库的相关文章

第五章 springboot + mybatis(转载)

本编博客转发自:http://www.cnblogs.com/java-zhao/p/5350021.html springboot集成了springJDBC与JPA,但是没有集成mybatis,所以想要使用mybatis就要自己去集成.集成方式相当简单. 1.项目结构 2.pom.xml 1 <!-- 与数据库操作相关的依赖 --> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4

Springboot &amp; Mybatis 构建restful 服务四

Springboot & Mybatis 构建restful 服务四 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务三 2 restful service 添加 Apache POI生成 Excel 文件 1)修改 POM.xml文件 添加 Apache POI 的依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-oo

Springboot &amp; Mybatis 构建restful 服务三

Springboot & Mybatis 构建restful 服务三 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务二 2 restful service 添加日志 1)新建 logback.xml文件(配置生成的日志文件的格式) src/main/resources/logback.xml <?xml version="1.0" encoding="UTF-8"?>   <!-- 设置根

第九章 springboot + mybatis + 多数据源 (AOP实现)

在第八章 springboot + mybatis + 多数据源代码的基础上,做两点修改 1.ShopDao package com.xxx.firstboot.dao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import com.xxx.firstboot.domain.Shop; import com.xx

第五章 springboot + mybatis

springboot集成了springJDBC与JPA,但是没有集成mybatis,所以想要使用mybatis就要自己去集成.集成方式相当简单. 1.项目结构 2.pom.xml 1 <!-- 与数据库操作相关的依赖 --> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-starter-jdbc</artifact

使用idea+springboot+Mybatis搭建web项目

使用idea+springboot+Mybatis搭建web项目 springboot的优势之一就是快速搭建项目,省去了自己导入jar包和配置xml的时间,使用非常方便. 1.创建项目project,然后选择Spring initializr,点击下一步  2.按图示进行勾选,点击下一步,给项目起个名字,点击确定. 3.项目生成有,点击add as maven project,idea 会自动下载jar包,时间比较长  4.项目生成后格式如下图所示:  其中DemoApplication.jav

springboot+mybatis+SpringSecurity 实现用户角色数据库管理

本文使用springboot+mybatis+SpringSecurity 实现用户权限数据库管理 实现用户和角色用数据库存储,而资源(url)和权限的对应采用硬编码配置. 也就是角色可以访问的权限通过硬编码控制.角色和用户的关系通过数据库配置控制 本文用户和角色的关系是多对多的关系. SpringSecurity 验证帐号密码 首先在usernamePasswordAuthenticationFilter中来拦截登录请求,并调用AuthenticationManager. Authentica

springboot + mybatis配置分页插件

1:首先配置springboot +mybatis框架  参考:http://www.cnblogs.com/liyafei/p/7911549.html 2:创建配置类MybatisConfig,对分页插件进行配置.将mybatis-config.xml移动到classpath路径下. package com.liyafei.util.pagehelper; import java.util.Properties; import org.apache.ibatis.plugin.Interce

SpringBoot+Mybatis+Freemark 最简单的例子

springboot-sample 实现最简单的 SpringBoot + Mybatis + Freemarker 网页增删改查功能,适合新接触 Java 和 SpringBoot 的同学参考 代码中连接的是云端的测试数据库,长期有效 推荐使用 IDEA 开发环境 开发环境部署 克隆或下载源代码 安装 JDK 1.8 安装 Gradle 在 IDEA 中导入项目 启动项目 浏览器打开 http://localhost:8011/product-list 源代码在 https://gitee.c