【springboot学习笔记】springboot+mybatis整合一

1、pom.xml maven依赖引入

        <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<!--lombok自动生成代码-->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.16.14</version>
		</dependency>

2、数据库数据简单的准备,这张表只有简单的两个字段,name,id。(创建表过程略)

3、配置文件引入-编辑,application.properties,或者application.yml

配置mybatis

配置的内容分别为:数据库地址,数据库名称,数据库密码,数据库驱动

#mybatis
spring.datasource.url=jdbc:mysql://localhost:3306/db?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

4、简单的代码实现

目录结构:

实体建模:

这个例子很简单,一个实体User,具有name,id,进行增删改查;

4.1 新建com.mybatis.entity包- 新建User,实体类

@Data:依赖于lombok插件,相当于@GETTER @SETTER,简化了set get方法;

@Data
public class User {
    private String name;
    private Integer id;

    public static void main(String[] args) {
    }
}

4.2 新建com.mybatis.mapper包-新建interface-UserMapper类,mapper层,对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的

@Mapper
public interface UserMapper {
    //查询
    @Select("SELECT * FROM MYBATIS WHERE NAME=#{name}")
    User findByName(@Param("name") String name);

    //查询所有
    @Select("SELECT * FROM MYBATIS")
    List<User> findUsersList();

    //插入
    @Insert("INSERT INTO MYBATIS ( NAME, ID) VALUES ( #{name}, #{id})")
    int insert(@Param("name") String name, @Param("id") Integer id);
}

4.3 新建com.mybatis.service-UserService服务类,service层,存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层

@Service
@Slf4j
public class UserService {

    @Autowired
    private  UserMapper userMapper;

    @Transactional
    public int insetUser(String name, Integer id) {
        int insetUserResult = userMapper.insert(name,id);
        log.info("##########insetUserResult########",insetUserResult);
        return insetUserResult;
    }

    @Transactional
    public User findName(String name) {
        User  findResutName = userMapper.findByName(name);
        return findResutName;
    }
}

4.4 新建com.mybatis.controller -UserController,控制器,需要导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。这边是简单的,默认get的方式,@RestController返回json

@RestController
public class UserController {

    @Autowired
    UserService userService;

    @RequestMapping("/insetser")
    public Integer insertUser(String name, Integer id) {
        return userService.insetUser(name,id);
    }

    @RequestMapping("/name")
    public User getName(String name) {
        return userService.findName(name);
    }
}

5、运行

6、其他

mapper层注解的时候可以添加@Mapper 注解,也可以在运行的main方法中加扫描mapper的注解,这样就不需要在每个mapper层加注解了;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值