栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot整合mybatis(注解-基础篇)最通俗易懂的文章

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot整合mybatis(注解-基础篇)最通俗易懂的文章

注解开发mybatis

开发流程

1、引入MyBatis依赖(maven下的springboot添加如下坐标即可)

POM.xml


			org.mybatis.spring.boot
			mybatis-spring-boot-starter
			2.2.2
		

		
			mysql
			mysql-connector-java
			runtime
		
		

还推荐使用lomback
可以加快实体类的开发


			org.projectlombok
			lombok
			true

2.配置核心配置文件,由于我们使用的是springboot,配置文件使用application.yml/properties即可(此处我们使用application.yml )
# 数据库地址
datasource:
  url: localhost:3306/springbootdb

spring:
  datasource: # 数据库配置
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://${datasource.url}?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&maxReconnects=10
    username: root
    password: password
#    hikari:
#      maximum-pool-size: 10 # 最大连接池数
#      max-lifetime: 1770000

mybatis:
  # 指定别名设置的包为所有entity
  type-aliases-package: com.itcodai.course10.entity
  configuration:
    map-underscore-to-camel-case: true # 驼峰命名规范
  mapper-locations: # mapper映射文件位置
    - classpath:mapperString userName, String password);

}

7.最后完成service服务层 实现类XXXimpl,就可以使用了。

使用@Service注解,将自己注入容器。方便Controller层调用。

package cn.javaobject.mybatis.service.impl;

import cn.javaobject.mybatis.dao.UserMapper;
import cn.javaobject.mybatis.domain.User;
import cn.javaobject.mybatis.service.UserService;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class UserServiceImpl implements UserService {
    @Resource
    private UserMapper userMapper;

    @Override
    public List getAll() {
        return userMapper.getAll();
    }

    @Override
    public User getUserByName(String name) {
        return null;
    }
    
    @Override
    public User getUserById(String id) {
        return userMapper.getUserById(id);
    }

    @Override
    public User getUserByIdAndName(String id, String name) {
        return userMapper.getUserByIdAndName(id,name);
    }

    @Override
    public boolean UserSignIn(String userName, String password) {
        return userMapper.UserSignIn(userName,password) == 1;
    }


}

Controller类
package cn.javaobject.mybatis.controller;

import cn.javaobject.mybatis.domain.User;
import cn.javaobject.mybatis.service.UserService;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

@RestController
public class Controller_db {
    @Resource
    private UserService userService;

    @RequestMapping("/getUserById/{id}")
    public User getUser(@PathVariable String id) {
        return userService.getUserById(id);
    }

    @RequestMapping("/getall")
    public List getAll() {
        return userService.getAll();
    }

    @RequestMapping("/getUserByIdAndName/{id}/{name}")
    public User getUserByIdAndName(@PathVariable String id,@PathVariable String name){
        return userService.getUserByIdAndName(id,name);
    }

    @RequestMapping("/SignIn/{userName}/{password}")
    public String UserSignIn(@PathVariable String userName, @PathVariable String password){
        boolean isOk = false;
        isOk = userService.UserSignIn(userName,password);

        if(isOk == true){
            return "successfully SignIn ! name:" + userName;
        }
        else
            return "failure";
    }

}

如果不是springboot的话(没有了IOC容器加载service类),则进行如下步骤,也应用到了ORM的思想。

初始化SessionFactory(MyBatis最核心的一个对象:会话工厂) 作用是:读取配置文件、加载Mapper映射,同时也为我们后期的处理做好前期的准备 利用SqlSession对象操作数据 Sqlsession是由SessionFactory这个对象进行创建的,每一个SqlSession对象我们形象的可以把它看成是一个数据库连接Connection

有什么问题可以评论区留言。还有很多优质文章,欢迎关注。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768844.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号