SpringBoot中操作数据库

1:创建springboot的web项目。
2:加入依赖

<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

在这里插入图片描述
3:数据库表、实体类
在这里插入图片描述

package com.dongmu.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    int id ;
    String name;
    String ped;
}

4:创建dao接口和mapper文件

package com.dongmu.dao;

import com.dongmu.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface UserDao {
    public User selectUserById(@Param("userId") int id);
}

@Mapper:作用是告诉mybatis创建这个接口的实现类对象
<?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.dongmu.dao.UserDao">
    <select id="selectUserById" resultType="com.dongmu.pojo.User">
        select *
        from User
        where id = #{userId}
  </select>
</mapper>

5:处理静态资源问题,链接数据库的配置文件

<!--加入 resource 插件--> <resources>
 <resource>
 <directory>src/main/java</directory>
 <includes>
 <include>**/*.xml</include>
 </includes>
 </resource>
</resources>
server.port=8888
server.servlet.context-path=/orm


#配置链接数据库
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/dongmu?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456

6:创建service、controller

package com.dongmu.service;

import com.dongmu.dao.UserDao;
import com.dongmu.pojo.User;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;


@Service
public class UserServiceImpl implements UserService {

    @Resource
    UserDao userDao;

    @Override
    public User queryUser(int id) {
        return userDao.selectUserById(id);

    }


}

package com.dongmu.controller;

import com.dongmu.pojo.User;
import com.dongmu.service.UserServiceImpl;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;

@Controller
public class UserController {
    @Resource
    private UserServiceImpl userService;

    @RequestMapping("/user/getUser")
    @ResponseBody
    public String queryUser(@Param("id") int id){
        User user = userService.queryUser(id);
        System.out.println(user);
        return user.toString();
    }
}

查询结果
在这里插入图片描述
总结:@Mapper:放在每个mapper文件的上面,告诉mybatis创建接口的实现类。

可以使用如下的方式解决。
主类上添加注解包扫描:@MapperScan("com.dongmu.dao")
1.去掉 StudentMapper 接口的上面的@Mapper 注解
2.在主类上面加入 @MapperScan()

我们一般会把mapper文件放在resources的子目录mapper里面,所以再在配置文件中指定mapper文件的位置mybatis.mapper-locations=classpath:mapper/*.xml
这个时候要注意mapper文件是否编译进入了,注意静态资源问题。

配置日志:
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

7:涉及到数据库,一定会有事务

SpringBoot中使用事务: 上面的两种方式都可以。

1)在业务方法的上面加入@Transactional ,  加入注解后,方法有事务功能了。
2)显式地在主启动类的上面,加入@EnableTransactionManager
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot 项目操作数据库主要分为以下四个步骤: 1. 配置数据源 Spring Boot 默认支持 H2、MySQL、PostgreSQL、Oracle、Db2、SQL Server 等数据库,可以通过在 application.properties 或 application.yml 配置数据源相关属性来连接数据库。例如: ``` spring.datasource.url=jdbc:mysql://localhost:3306/testdb spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 2. 定义实体类 定义实体类对应数据库的表结构,使用 JPA 注解进行配置。例如: ``` @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "name") private String name; @Column(name = "age") private Integer age; // getter 和 setter 方法 } ``` 3. 定义数据访问层接口 定义数据访问层接口,使用 Spring Data JPA 提供的 Repository 接口或自定义接口来实现对数据库的 CRUD 操作。例如: ``` @Repository public interface UserRepository extends JpaRepository<User, Long> { } ``` 4. 在业务层调用数据访问层接口 在业务层调用数据访问层接口来完成对数据库操作。例如: ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserRepository userRepository; @Override public User getUserById(Long id) { return userRepository.findById(id).orElse(null); } @Override public User createUser(User user) { return userRepository.save(user); } @Override public User updateUser(User user) { return userRepository.save(user); } @Override public void deleteUser(Long id) { userRepository.deleteById(id); } } ``` 以上就是 Spring Boot 项目操作数据库的主要步骤。可以根据需求进行扩展和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北海冥鱼未眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值