Springboot集成mybaits框架

首先在新建项目的时候,选择勾选sql相关组件,也可以后期手动添加

勾选组件如下图,本项目采用的mysql数据库,因此勾选mysql连接库,然后就是勾选mybatis框架

mybaits结合Springboot大大的减轻了JDBC的操作繁琐

开发工具IDEA2020版本

File-New- Project

在application.properties配置文件中开启数据库连接,并且添加mybatis相关配置

#mysql连接配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mytest? 
characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai 
spring.datasource.username=root 
spring.datasource.password=root
#配置mybatis编写sql所在的xml文件所在的路径,在采用xml编写sql的时候必须配置
mybatis.mapper-locations=classpath*:/dao/*.xml
#开启自动驼峰转换
mybatis.configuration.map-underscore-to-camel-case=true
#允许使用方法签名中的名称作为语句参数名称。 为了使用该特性,你的项目必须采用 Java 8 编译,并且 加上 -parameters 选项。(新增于 3.4.1)
mybatis.configuration.use-actual-param-name=true

jdbc:mysql协议,172.0.0.1是IP,3306默认端口, live数据库,characterEncoding=utf8编码,useSSL=false套接绳链接,serverTimezone=Asia/Shanghai时钟时区(mysql5.7以上必须加)

在项目根包名下(可以是子集但是不能在根包名外面),新建一个专门存放数据库接口的包,并且在里面编写一个interface

这里在项目根包名下新建了一个dao的包名,并且在里面新建了一个UserDao的接(Interface)UserDao代码如下:

package com.spring.mebatistdemo.dao;


import com.spring.mebatistdemo.model.User;

public interface UserDao {
    User findUserByUsernameAndPassword(String username, String password);
}

在resource目录下新建一个mapper的路径(与之前配置文件中配置的路径保持一致),编写mybatis的sql对应的xml文件

非Java文件放在resources classpath

比如这里编写一个UserDao.xml,xml文件名随意(最好与java中的dao接口名保持一致,方便阅读),代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.spring.mebatistdemo.dao.UserDao">
    <select id="findUserByUsernameAndPassword"
            resultType="com.spring.mebatistdemo.model.User">select * from user where username = #{username} and password = #{password} </select>
</mapper>

数据库操作封装到一个包里面(比如创建一个dao包)

在到包里面创建一个操作数据库的接口

New Java Class->Interface

写自己需要的业务

创建一个存载实体类的包(model)

package com.spring.mebatistdemo.model;

public class User {
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

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

4.最后写个Controller测试

package com.spring.mebatistdemo.controller;

import com.spring.mebatistdemo.dao.UserDao;
import com.spring.mebatistdemo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserContronller {
    @Autowired
    UserDao userDao;

    @RequestMapping("/login")
    public User login(String username, String password){
        User user = userDao.findUserByUsernameAndPassword(username,password);
        if(user!=null){
            System.out.println("登录成功");
            return user;
        }
        System.out.println("用户或密码错误");
        return null;
    }
}

浏览器运行结果如下图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 是一个快速开发框架MyBatis 是一款优秀的基于 Java 的持久层框架。在 Spring Boot 中使用 MyBatis 可以极大地提高开发效率和运行效率。 具体步骤如下: 1. 引入 MyBatisMyBatis-SpringBoot-Starter 依赖。 2. 配置数据源和 MyBatis。 3. 编写实体类和映射文件。 4. 编写 DAO 层接口和 SQL 语句。 5. 在 Service 层中调用 DAO 层接口。 6. 在 Controller 层中调用 Service 层方法,返回结果给前端。 示例代码: 1. 引入依赖: ``` <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> ``` 2. 配置数据源和 MyBatis: ``` spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root mybatis.mapper-locations=classpath:mapper/*.xml ``` 3. 编写实体类和映射文件: 实体类: ``` public class User { private Long id; private String name; private Integer age; // 省略 getter 和 setter 方法 } ``` 映射文件: ``` <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.example.demo.dao.UserMapper"> <resultMap id="BaseResultMap" type="com.example.demo.entity.User"> <id column="id" property="id" /> <result column="name" property="name" /> <result column="age" property="age" /> </resultMap> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long"> select * from user where id = #{id} </select> </mapper> ``` 4. 编写 DAO 层接口和 SQL 语句: ``` public interface UserMapper { User selectByPrimaryKey(Long id); } ``` 5. 在 Service 层中调用 DAO 层接口: ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User getUserById(Long id) { return userMapper.selectByPrimaryKey(id); } } ``` 6. 在 Controller 层中调用 Service 层方法,返回结果给前端: ``` @RestController public class UserController { @Autowired private UserService userService; @GetMapping(value = "/user/{id}") public User getUserById(@PathVariable Long id) { return userService.getUserById(id); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值