SpringBoot数据库访问工具(JdbcTemplate、MyBatis、JPA、Hibernate)

SpringBoot数据库访问

关系型数据库访问(RDBMS)

采用JdbcTemplate、MyBatis、JPA、Hibernate等技术。

一、JdbcTemplate工具

1.在pom.xml添加boot-starter-jdbc定义<dependencies> 数据库驱动

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>    <version>2.0.1.RELEASE</version>   </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
    </dependency>

</dependencies>

2.在application.properties添加链接参数定义

spring.datasource.username=SCOTT
spring.datasource.password=TIGER
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
spring.datasource.driverClassName=oracle.jdbc.OracleDriver

3.根据DEPT表编写Dept实体类

public class Dept implements Serializable{
    private Integer deptno;
    private String dname;
    private String loc;
    //set和get省略
}

4.定义DeptDao接口

public interface DeptDao {
    public List<Dept> findAll();
}

5.定义JdbcDeptDao实现类

@Repository("deptDao")
public class JdbcDeptDao implements DeptDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public List<Dept> findAll() {
        String sql = "select * from DEPT";
        //BeanPropertyRowMapper功能同名加载。查询结果集列名和实体类属性名一致
        RowMapper<Dept> rowMapper = new BeanPropertyRowMapper<Dept>(Dept.class);
        List<Dept> list = jdbcTemplate.query(sql, rowMapper);
        return list;
    }

}

6.定义主启动类,开启自动配置和扫描等功能

@SpringBootApplication
public class MyBootApplication {

}

7.测试程序

public static void main(String[] args) {
    ApplicationContext ac =
        SpringApplication.run(MyBootApplication.class);
    DeptDao deptDao = ac.getBean("deptDao",DeptDao.class);
    List<Dept> list = deptDao.findAll();
    for(Dept dept:list){
        System.out.println(dept.getDeptno()
            +" "+dept.getDname()+" "+dept.getLoc());
    }
}

四、JPA工具

1.在pom.xml追加boot-jdbc、boot-data-jpa包定义 、数据库驱动

<parent>   <!-- 设置boot版本控制 -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
</parent>

<properties>  <!-- 设置字符集utf-8 jre版本1.8-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>

    <dependency>    <!-- jpa基于jdbc -->
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>

    <dependency>    <!-- 数据库驱动 -->
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
    </dependency>

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

</dependencies>

2.在application.properties文件追加数据库连接参数定义

spring.datasource.username=SCOTT
spring.datasource.password=TIGER
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
spring.datasource.driverClassName=oracle.jdbc.OracleDriver

3.根据DEPT表编写Dept实体类,并追加映射注解标记(可用jpa逆向生成工程)

@Entity
@Table(name="DEPT")
public class Dept implements Serializable{

    @Id
    @Column(name="DEPTNO")
    private Integer deptno;

    @Column(name="DNAME")
    private String dname;

    @Column(name="LOC")
    private String loc;

    //省略set和get方法       

}

4.定义DeptDao接口,可以继承JpaRepository

public interface DeptDao extends JpaRepository<Dept, Integer>{  //Dept 为eitity类型 Integer为主键类型

}

Repository:顶级接口,无任何操作

CrudRepository:继承了Repository,增加了增删改查操作方法

PagingAndSortingRepository:继承CrudRepository,增加了分页和排序操作

JpaRepository:继承了PagingAndSortingRepository,增加批处理操作

5.测试程序

public static void main(String[] args) {
    ApplicationContext ac =
        SpringApplication.run(MyBootApplication.class, args);
    DeptDao deptDao = ac.getBean("deptDao",DeptDao.class);
    List<Dept> list = deptDao.findAll();
    for(Dept dept:list){
        System.out.println(dept.getDeptno()+" "+dept.getDname());
    }
}
 
 
 


 
 
 
 
 

原文地址:https://www.cnblogs.com/xiaoka000/p/9691436.html

时间: 2024-08-28 11:38:33

SpringBoot数据库访问工具(JdbcTemplate、MyBatis、JPA、Hibernate)的相关文章

数据库访问工具 DBUtl(公孙二狗)

数据库访问工具 DBUtil DBUtil 用于简化数据库的访问,只要准备好配置文件,调用 DBUtil 的静态函数就能直接得到查询数据库的结果. 本文主要内容有: 数据库访问的思考 DBUtil 实例 DBUtil 的 API DBUtil 的实现 把 SQL 语句放到文件里 ORMapping 1. 数据库访问的思考 以查询数据库中 id 为 1 的 user 为例,思考访问数据库存在的问题以及优化. 常用的访问数据库为以下几步: 设置数据库驱动和连接名 设置数据库所在电脑的 IP,数据库名

SpringBoot数据库访问(一)--------关系型数据库访问(RDBMS)

关系型数据库访问(RDBMS) 采用JdbcTemplate.MyBatis.JPA.Hibernate等技术. 一.JdbcTemplate工具 在pom.xml添加boot-starter-jdbc定义 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1

SpringBoot入门 (五) 数据库访问之spring data jpa

本文记录学习使用spring data jpa访问数据库 一 什么是Spring Data JPA JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象.关联映射工具来管理Java应用中的关系数据.主要是为了简化现有的持久化开发工作和整合ORM技术,对不同的ORM框架提供统一的规范标准. Spring Data JPA 是Spring基于Hibernate框架和JPA(Java Persistence API)规范的基础上封装

BeetlSQL,简单和强大数据库访问工具

同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用. SQL 以更简洁的方式,Markdown方式集中管理,同时方便程序开发和数据库SQL调试 数据模型支持Pojo,也支持Map/List这种无模型的模型 SQL 模板基于Beetl实现,更容易写和调试,以及扩展 无需注解,自动生成大量内置SQL,轻易完成增删改查功能 支持跨数据库平台,开发者所需工作减少到最小 具备Interceptor功能,可以调试,性能诊断

缓存机制总结(JVM内置缓存机制,MyBatis和Hibernate缓存机制,Redis缓存)

一.JVM内置缓存(值存放在JVM缓存中) 我们可以先了解一下Cookie,Session,和Cache Cookie:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择都纪录下来.当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你.具体来说Cookie机制采用的是在客户端保持状态的方案(保存客户浏览器请求服务器页面

SpringBoot + Jpa(Hibernate) 架构基本配置

1.基于springboot-1.4.0.RELEASE版本测试 2.springBoot + Hibernate + Druid + Mysql + servlet(jsp) 一.maven的pom文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

Spring Data JPA、 MyBatis与Hibernate简单对比

整体参考: https://blog.csdn.net/xihuanyuye/article/details/81201441 详细参考: https://blog.csdn.net/qq897958555/article/details/53208002 1.Spring Data JPA与Hibernate Spring Data JPA是Spring Data的子模块.使用Spring Data,使得基于“repositories”概念的JPA实现更简单和容易.Spring Data JP

五、spring boot 集成 jpa+hibernate+jdbcTemplate

1.pom添加依赖 <!-- spring data jpa,会注入tomcat jdbc pool/hibernate等 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <

springboot入门_数据库访问_jdbcTemplate

本文记录下在springboot项目中使用jdbcTemplate访问数据库. 创建springboot项目,添加依赖,pom文件如下: 1 <!--web 依赖--> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-starter-web</artifactId> 5 </dependency>