Mybatis 驼峰命名法
一、创建项目
记得修改项目名称
和项目路径
二、添加依赖
Lombok:
省去手动创建getter、setter和构造方法
三、填写配置文件
这里我是用的application.yml
#端口号
server:
port: 8081
#数据库的配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=true
#账户
username: root
#密码
password:
#mybatis的配置
mybatis:
#mapper的映射路径
mapper-locations: classpath:mapper/*.xml
#开启驼峰命名法
configuration:
map-underscore-to-camel-case: true
四、数据库表的设计
user_id为自增
五、userMapper.xml
该文件路径要与application.yml
中的路径一致
<?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.mybatis01.mapper.UserMapper">
<select id="selectUserById" resultType="com.example.mybatis01.entity.User">
select * from user_info where user_id = #{user_id}
</select>
</mapper>
其中namespace是对应UserMapper类的路径
id是UserMapper类中的方法名称
resultType是返回的数据类型,我这返回的是一个User对象
#{xxx}是selectUserById该方法传来的值
六、实体类
import java.util.Date;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class User {
private Long userId;
private String username;
private String userPassword;
private Date createTime;
private Date updateTime;
}
这里直接用@Data注释,省去了getter setter方法
七、Mapper类
@Repository
@Mapper
public interface UserMapper {
User selectUserById(Long user_id);
}
主要是通过@Mapper注释来找对应的*.xml
七、Controller层
package com.example.mybatis01.controller;
import com.example.mybatis01.entity.User;
import com.example.mybatis01.mapper.UserMapper;
import com.example.mybatis01.service.UserService;
import org.apache.catalina.filters.ExpiresFilter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@CrossOrigin
@RestController
public class UserController {
private UserMapper userMapper;
@Autowired //创建Bean
public UserController(UserMapper userMapper) {
this.userMapper = userMapper;
}
@PostMapping("/selectUserById")
@ResponseBody
public void selectUserById(@RequestBody User user, HttpServletRequest request){
Long user_id= user.getUserId();
User user1=userMapper.selectUserById(user_id);
System.out.println(user1);
}
}
八、实现
最后得到的结果都是以驼峰命名的方式
而数据库中为下划线的方式
本文只是为了实现驼峰命名,省去了大部分代码(虽然能跑通),但仅可用于参考