pom文件中导入依赖
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- mybatis plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
application.properties文件中配置数据库相关属性
#设置端口号
server.port=8989
#数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/myfavorite?
useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
#数据库用户名
spring.datasource.username=root
#数据库密码
spring.datasource.password=123456
#加载映射文件
mybatis-plus.mapper-locations=classpath*:/mapper/**/*.xml
#设置别名
mybatis-plus.type-aliases-package=com.example.mybatisplus.entity
#关闭驼峰命名映射
#mybatis-plus.configuration.map-underscore-to-camel-case=false
#显示日志
logging.level.com.example.dao=debug
#JSON日期格式化
spring.jackson.date-format= yyyy-MM-dd
#JSON日期格式化设置时区为上海
spring.jackson.time-zone=Asia/Shanghai
#日期格式化
spring.mvc.format.date=yyyy-MM-dd
spring.mvc.format.date-time=yyyy-MM-dd HH:mm:ss
在com.example.mybatisplus.entity包下
创建实体类
注意要对应数据库中的表名和主键名称
package com.example.mybatisplus.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("user")//TableName一定要对应表名
public class User {
/**
* 主键
*/
@TableId(value = "id",type = IdType.AUTO)
//@TableField("字段名")当属性名与数据库表字段名不一致时使用
private Long id;
String username;
String password;
int role;
Date ctime;
}
在com.example.mybatisplus.dao包下
创建dao (Mapper接口)
注意需要extends BaseMapper<实体类>
package com.example.mybatisplus.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mybatisplus.entity.User;
/**
*
* Mapper 接口
*
*/
public interface UserMapper extends BaseMapper<User> {
}
在 com.example.mybatisplus.Service包下
创建Service
注意继承 extends IService<实体类>
package com.example.mybatisplus.Service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.mybatisplus.entity.User;
public interface UserService extends IService<User> {
/**
*
* 根据用户名查询用户信息
* @param username
* @return
*/
User findUserByUserName(String username);
}
在com.example.mybatisplus.Service.impl包下
创建实现类
注意
继承 extends ServiceImpl
实现 implements UserService
注解 @Service和@Transactional
package com.example.mybatisplus.Service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.mybatisplus.Service.UserService;
import com.example.mybatisplus.dao.UserMapper;
import com.example.mybatisplus.entity.User;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {
/**
*
* 根据用户名查询用户信息
* @param username
* @return
*/
@Override
public User findUserByUserName(String username) {
//创建条件构造器对象
QueryWrapper<User> queryWrapper =new QueryWrapper<>();
queryWrapper.eq("username",username);//param1 列名 param2 对应参数值
//执行查询
return baseMapper.selectOne(queryWrapper);
}
}
在Resources目录下创建mapper文件夹
在mapper文件夹中创建UserMapper.xml
注意对应包名和属性名称
DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mybatisplus.dao.UserMapper">
<resultMap id="BaseResultMap" type="com.example.mybatisplus.entity.User">
<id column="id" property="id" />
<result column="username" property="username" />
<result column="password" property="password" />
resultMap>
<sql id="Base_Column_List">
id, username, password,role,ctime
sql>
mapper>
注意不要把包名写错
package com.example.mybatisplus;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.example.mybatisplus.dao")
@SpringBootApplication
public class MybatisplusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisplusApplication.class, args);
}
}
最后可以在测试类中测试了
package com.example.mybatisplus;
import com.example.mybatisplus.Service.UserService;
import com.example.mybatisplus.entity.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class MybatisplusApplicationTests {
@Autowired
UserService userService;
@Test
void contextLoads() {
System.out.println(userService.findUserByUserName("刘翠花"));
}
}