Spring Boot 中快速集成mybatis(xml)

Spring Boot 中快速集成mybatis(xml)

环境要求

  • java8 以上
  • idea ultimate(加装lombok插件)
  • mysql(或者其他数据库)

项目建立

通过idea的spring boot initialazr 创建一个项目,引入以下的包

  • spring web
  • mysql
  • mybatis
  • thymeleaf(可有可无)
  • jdbc
  • lombok

目录结构

新建项目com.example.demo,在demo路径下创建基本的package

├── java
│   └── com
│       └── example
│           └── demo
│               ├── config
│               ├── controller
│               ├── DemoApplication.java
│               ├── entity 
│               └── mapper
│                   
└── resources
    ├── application.properties
    ├── static
    └── templates
    └── mybatis
    	└──mapper

创建数据库数据表

CREATE TABLE  user (
    id int(11) primary key  auto_increment,
    username varchar(20) ,
    password char(255),
    nickname varchar(20),
    email varchar(256)
) ENGINE = InnoDB charset = utf8;

insert into user ( username, password, nickname, email)
values ('prh' , '123' , 'ALittleGuy' , 'pan_××@outlook.com');

配置application.properties连接数据库

server.port=8080

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver #数据库驱动
spring.datasource.username=root                              #用户名
spring.datasource.password=123								 #密码
spring.datasource.url=jdbc:mysql://localhost:3306/test       #url

创建实体类User

创建User类到entity包中,此处使用lombok简化代码,lombok的使用除了应用lombok的插件以外还需要在idea中加装一个lombok插件,具体使用可以参考

lombok的使用

package com.example.demo.entity;

import lombok.Data;

@Data  //lombok的注释,@Data即自动添加setter,getter,toString等等,简化代码
public class User {
    Integer id;
    String username;
    String password;
    String email;
    String nickname;
}

创建mapper

创建mapper接口

创建mapper,mapper主要是定义各种curd操作的接口

@Mapper
public interface UserMapper {
    User getById(Integer id);
}

配置mybatis

修改application.propertities,加入mybatis的配置,下面给出mapper文件路径的配置,mybatis还有配置选项,详情可以查看

mybatis

server.port=8080

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=1754492877
spring.datasource.url=jdbc:mysql://localhost:3306/software_arch

mybatis.mapper-locations=classpath:mybatis/mapper/UserMapper.xml  #配置mapper映射文件的路径

创建映射文件

创建UserMapper.xmlresource/mybatis/mapper中,映射文件用于定义上述mapper接口的具体sql操作,其中涉及到自定义的类需要写全类名

<?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.mapper.UserMapper">                           

    <select id="getById" parameterType="Integer" resultType="com.example.demo.entity.User">
        SELECT  * FROM user  WHERE id = #{id}
    </select>

</mapper>

创建Controller

@Controller
public class Index {

    @Autowired
    private UserMapper userMapper;

    @RequestMapping(value = "/user/{id}" )
    @ResponseBody
    public String user(@PathVariable Integer id){
        return userMapper.getById(id).toString();
    }
}

运行测试

使用浏览器或则curl输入 127.0.0.1:8080/user/1

返回值应该为:

User(id=1, username=prh, password=123, email=pan_××@outlook.com, nickname=ALittleGuy)

参考内容

mybatis

lombok

具体使用

mybatis

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值