SpringBoot整合mybatis快速入门

朴灿烈づ我的快乐病毒、 2023-07-13 04:18 11阅读 0赞

https://www.jianshu.com/p/541874714907

一、创建一个SpringBoot项目

format_png

format_png 1

format_png 2

format_png 3

二、引入相关依赖

  1. <!--web核心依赖-->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5. </dependency>
  6. <!--mysql数据库驱动-->
  7. <dependency>
  8. <groupId>mysql</groupId>
  9. <artifactId>mysql-connector-java</artifactId>
  10. <scope>runtime</scope>
  11. </dependency>
  12. <!--mybatis-->
  13. <dependency>
  14. <groupId>org.mybatis.spring.boot</groupId>
  15. <artifactId>mybatis-spring-boot-starter</artifactId>
  16. <version>2.1.0</version>
  17. </dependency>

三、创建如下结构文件

format_png 4

  • 编写实体类com.zhg.demo.mybatis.entity.User

    public class User implements Serializable {

    1. private Long id;//编号
    2. private String username;//用户名
    3. private String password;//密码
    4. //省略get set方法

    }

  • 编写接口com.zhg.demo.mybatis.mapper.UserMapper
    注意:需要使用@Mapper注解,不然SpringBoot无法扫描

    @Mapper//指定这是一个操作数据库的mapper
    public interface UserMapper {

    1. List<User> findAll();

    }

  • 编写在resources文件中创建 mapper/UserMapper.xml文件
    注意
    1.namespace中需要与使用@Mapper的接口对应
    2.UserMapper.xml文件名称必须与使用@Mapper的接口一致
    3.标签中的id必须与@Mapper的接口中的方法名一致,且参数一致

    <?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“ >



  • 编写接口com.zhg.demo.mybatis.service

    public interface UserService {

    1. List<User> findAll();

    }

  • 编写实现类com.zhg.demo.mybatis.service.impl.UserServiceimpl
    注意:需要在接口实现类中使用@Service注解,才能被SpringBoot扫描,在Controller中使用@Authwired注入

    @Service(“userService”)
    public class UserServiceimpl implements UserService {

    1. @Autowired
    2. private UserMapper userMapper;
    3. @Override
    4. public List<User> findAll() {
    5. return userMapper.findAll();
    6. }

    }

  • 编写api接口com.zhg.demo.mybatis.controller.UserController

    @RestController
    @RequestMapping(“/user”)
    public class UserController {

    1. @Autowired
    2. private UserService userService;
    3. @RequestMapping("/findAll")
    4. public List<User> findAll(){
    5. return userService.findAll();
    6. }

    }

  • 在启动类中添加对@MapperScan的扫描

    @SpringBootApplication
    @MapperScan(“com.zhg.demo.mybatis.mapper”)//使用MapperScan批量扫描所有的Mapper接口;
    public class MybatisApplication {

    1. public static void main(String[] args) {
    2. SpringApplication.run(MybatisApplication.class, args);
    3. }

    }

四、配置文件

注意
1.mybatis中的mapper-locations是mapper的xml文件位置
2.mybatis中的type-aliases-package是为了配置xml文件中resultType返回值的包位置,如果未配置请使用全包名如下:

  1. <select id="findAll" resultType="com.zhg.demo.mybatis.entity.User">
  2. SELECT * FROM tb_user
  3. </select>
  • 在resources中创建application.yml文件,并编写配置

    server:
    port: 8081
    spring:

    数据库连接配置

    datasource:

    1. driver-class-name: com.mysql.cj.jdbc.Driver
    2. url: jdbc:mysql://47.107.105.158:3306/test?characterEncoding=utf-8&useSSL=false
    3. username: root
    4. password: 123456

    mybatis的相关配置

    mybatis:

    mapper配置文件

    mapper-locations: classpath:mapper/*.xml
    type-aliases-package: com.zhg.demo.mybatis.entity

    开启驼峰命名

    configuration:

    1. map-underscore-to-camel-case: true

五、创建数据库和数据表

  1. -- ----------------------------
  2. -- Table structure for tb_user
  3. -- ----------------------------
  4. DROP TABLE IF EXISTS `tb_user`;
  5. CREATE TABLE `tb_user` (
  6. `id` int(11) NOT NULL,
  7. `username` varchar(255) DEFAULT NULL,
  8. `password` varchar(255) DEFAULT NULL,
  9. PRIMARY KEY (`id`)
  10. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  11. -- ----------------------------
  12. -- Records of tb_user
  13. -- ----------------------------
  14. INSERT INTO `tb_user` VALUES ('1', 'laowang', '112233');
  15. INSERT INTO `tb_user` VALUES ('2', 'laoli', '123456');

六、启动并测试

  • 启动springboot
  1. ![format_png 5][]
  • 访问http://localhost:8081/user/findAll

    format_png 6

1人点赞

日记本

作者:蜻蜓队长家长
链接:https://www.jianshu.com/p/541874714907
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

发表评论

表情:
评论列表 (有 0 条评论,11人围观)

还没有评论,来说两句吧...

相关阅读