spring boot整合MyBatis操作数据库

Java spring boot整合MyBatis操作数据库

​ MyBatis的前身是Apache社区的一个开源项目iBatis,于2010年更名为MyBatis。MyBatis是支持定制化SQL、存储过程和高级映射的优秀持久层框架。它避免了几乎所有的JDBC代码、手动设置参数和获取结果集的操作,使得开发人员更加关注SQL本身和业务逻辑,不用再花费时间关注整个复杂的JDBC操作过程。

​ MyBatis的优点如下所示。

​ ①封装了JDBC大部分操作,减少了开发人员的工作量

​ ②半自动化的操对于编写SQL语句灵活度更高

​ ③Java代码与SQL语句分离,降低维护难度

​ ④自动映射结果集,减少重复的编码工作⑤开源社区十分活跃,文档齐全,学习成本低

使用方法

一、添加依赖

    // maven
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.2</version>
    </dependency>
    // 因为用的是MySQL数据库,所以引入MySQL驱动
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.28</version>
    </dependency>

        
    // gradle
	implementation group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '2.2.2'
	implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.28'

二**、application.properties的配置**

#数据库账号密码和地址
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/java?useUnicode=true&characterEncoding=UTF-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# resources 下mapper文件夹中的xxxMapper.xml文件,看个人路径及命名,使用注解版可以不用此配置
mybatis.mapper-locations=classpath:mapper/*Mapper.xml  
# 实体类文件夹通常pojo、entity
mybatis.type-aliases-package=com.Charity.pojo

三**、开启包扫描**

package org.java.mybatis;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan(basePackages = "org.java.mybatis.mapper") //放mapper文件夹位置,看个人的项目结构
public class MybatisApplication {
    public static void main(String[] args) {
    	SpringApplication.run(MybatisApplication.class, args);
    }
}

四、创建实体类

​ 实体类基本在pojo或者entity文件夹下创建,文件夹基本也是自己新建的。

package org.java.mybatis.pojo;

public class User {
    private int id;
    private String userName;
    private String sex;

    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 getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
   }

五、创建映射接口

映射接口类基本在mapper或者dao文件夹下创建,文件夹基本也是自己新建的。注:创建的是 interface 接口,不是普通Java类

1.注解版
package org.java.mybatis.mapper;
import org.java.mybatis.pojo.User;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.;
import java.util.List;

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM `user`")
    @Results({
        @Result(property = "id", column = "id"),
        @Result(property = "userName", column = "user_name"),
        @Result(property = "sex", column = "user_sex")
    })
    List<User> list();

}
  • @Select:是查询类的注解,所有的查询均使用这个
  • @Result:修饰返回的结果集,关联实体类属性和数据库字段一一对应,如果实体类属性和数据库属性名保持一致,就不需要这个属性来修饰
  • 使用注解版可以不看下面的配置文件版
2.配置文件版
package org.java.mybatis.mapper;
import org.java.mybatis.pojo.User;

import java.util.List;

public interface UserMapper {
     List<User> list();

}

六、创建xml配置文件(个人说法,我不知道是不是这样说)

在resource文件夹下创建mapper文件夹,再在mapper文件夹下创建xxxMapper.xml文件

<?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="org.java.mybatis.mapper.UserMapper"> #namespace要对应接口类位置
	# 上面都是固定的文件头
    
    # 在mapper里面写sql语句, id是上面接口类的方法名, resultType是返回的类型
    <select id="list" resultType="org.java.mybatis.pojo.User">
        select * from user
    </select>
    
</mapper>

注: 使用配置文件,还可以有很多功能,感兴趣的可以自行去了解。这里就不多阐述了!

如有不对之处,请各位大佬指正。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 添加依赖 在pom.xml文件中添加MyBatis和Oracle数据库的依赖: ``` <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>19.3.0.0</version> </dependency> ``` 2. 配置数据源 在application.properties或application.yml中配置数据源: ``` spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCL spring.datasource.username=yourusername spring.datasource.password=yourpassword spring.datasource.driver-class-name=com.oracle.jdbc.Driver ``` 3. 配置MyBatis 在application.properties或application.yml中配置MyBatis: ``` mybatis.mapper-locations=classpath:/mapper/*.xml mybatis.type-aliases-package=com.example.demo.entity ``` 4. 创建实体类 创建对应Oracle表的实体类,注意实体类属性名要与表中字段名一致。 ``` public class User { private Long id; private String username; private String password; // getter and setter } ``` 5. 创建Mapper接口 创建UserMapper接口,并添加相应的SQL语句注解。 ``` @Mapper public interface UserMapper { @Select("SELECT * FROM user WHERE id = #{id}") User findById(Long id); // 其他查询/增加/更新/删除方法 } ``` 6. 测试 在Controller中注入UserMapper,并测试查询方法。 ``` @RestController public class UserController { @Autowired private UserMapper userMapper; @GetMapping("/user/{id}") public User getUserById(@PathVariable Long id) { return userMapper.findById(id); } } ``` 7. 运行 启动Spring Boot应用,并访问http://localhost:8080/user/{id},测试查询方法是否生效。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值