SpringBoot整合持久层框架

目录

一 SpringBoot整合JdbcTemplate

二 SpringBoot整合Mybatis

三 SpringBoot整合Jpa

一 SpringBoot整合JdbcTemplate

1、引入JdbcTemplate依赖

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

2、编写配置文件

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://ip地址:3306/library?useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
    username: 用户名
    password: 密码
    type: com.alibaba.druid.pool.DruidDataSource

3、示例代码

@Service
public class AdminService {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    public boolean insertAdmin(String username, String password) {
        int update = jdbcTemplate.update("INSERT INTO admin VALUES(1,?,?)", username, password);
        return update > 0 ? true : false;
    }

二 SpringBoot整合Mybatis

1、引入Mybatis依赖

<dependency>
     <groupId>org.mybatis.spring.boot</groupId>
     <artifactId>mybatis-spring-boot-starter</artifactId>
     <version>2.1.3</version>
</dependency>

2、编写配置文件

spring:  
 jpa:
  show-sql: true
  database: mysql
  hibernate:
   ddl-auto: update
  open-in-view: false

3、示例代码

@Mapper
public interface AdminMapper {
    @Select("select * from admin")
    List<Admin> findAll();
}

三 SpringBoot整合Jpa

1、引入Jpa依赖

 <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2、示例代码

实体类

@Data
@Entity(name ="t_book")
public class Book {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    @Column(name = "book_name",nullable = false)
    private String name;
    private String author;
    private Float price;
    @Transient
    private String description;
}

dao层

public interface BookDao extends JpaRepository<Book, Integer> {
    Book getBookById(Integer id);

    @Transactional
    @Modifying
    @Query("UPDATE t_book set book_name='发展之道' WHERE id =:id")
    void update(Integer id);
}

 service层

public interface BookService {

    Book getBookById(Integer id);

    List<Book> findAll();

    void save(Book book);

    void deleteById(Integer id);

    void update(Integer id);

}
@Service
public class BookServiceImpl implements BookService {
    @Autowired
    BookDao bookDao;
    @Override
    public Book getBookById(Integer id) {
        return bookDao.getBookById(id);
    }

    @Override
    public List<Book> findAll() {
        return bookDao.findAll();
    }

    @Override
    public void save(Book book) {
        bookDao.save(book);
    }

    @Override
    public void deleteById(Integer id) {
        bookDao.deleteById(id);
    }

    @Override
    public void update(Integer id) {
        bookDao.update(id);
    }

}

Controller层

@RestController
@RequestMapping("/book")
public class BookController {
    @Autowired
    BookService bookService;

    @RequestMapping("/getBookById/{id}")
    public Book getBookById(@PathVariable Integer id) {
        return bookService.getBookById(id);
    }

    @RequestMapping("/list")
    public List<Book> findAll() {
        return bookService.findAll();
    }

    @RequestMapping("/save")
    public void saveBook() {
        Book book = new Book();
        book.setName("银行理论");
        book.setAuthor("浙江农信");
        book.setPrice((float) 20);
        bookService.save(book);
    }

    @RequestMapping("/delete/{id}")
    public void deleteBook(@PathVariable Integer id) {
        bookService.deleteById(id);
    }

    @RequestMapping("/update/{id}")
    public void updateBook(@PathVariable Integer id) {
       bookService.update(id);

    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值