赞
踩
当我们的springboot在不使用任何自己加载的数据源的时候,它就会使用这个数据源。
好心的springboot为我们提供了默认的数据源解决方案,Spring还为我们提供了一个默认的持久化技术,那就是JdbcTemplate。
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-jdbc</artifactId>
- </dependency>
他是一操作数据库的模板对象,里面使用的技术就是GDP技术,就是自己写结果集的处理。
要想创建一个JdbcTemplate对象, 首先需要一个dataSource的对象,非常好的一点,是datasource已经在环境的配置文件当中加载了,也就是说,只需要直接加载JdbcTemplate对象就行了。
- @SpringBootTest
- class Springboot15SqlApplicationTests {
- @Test
- void testJdbcTemplate(@Autowired JdbcTemplate jdbcTemplate){ //对象的作用范围变小
- }
- }
- @Test
- void testJdbcTemplate(@Autowired JdbcTemplate jdbcTemplate){
- String sql = "select * from tbl_book";
- List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
- System.out.println(maps);
- }
使用jdbcTemplate.query()作通用操作,需要传入sql对象和行映射rowmaper对象,创建rowmapper对象首先在尖括号当中填写当前查询的对象的模型类型,当前是Book类型,随后直接创建这个接口需要实现一个方法,这个方法如果在前面指定过泛型了,他就默认返回就是你这个泛型,如果前面没指定,这样就是返回Object,可以看到其中有一个ResultSet对象,这里就是封装的结果集,将查询到的值(getXxx)Set给Book对象并返回。
- @Test
- void testJdbcTemplate(@Autowired JdbcTemplate jdbcTemplate){
-
- String sql = "select * from tbl_book";
- // List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
- // System.out.println(maps);
- RowMapper<Book> rm = new RowMapper<Book>() {
- @Override
- public Book mapRow(ResultSet rs, int rowNum) throws SQLException {
- Book temp = new Book();
- temp.setId(rs.getInt("id"));
- temp.setName(rs.getString("name"));
- temp.setType(rs.getString("type"));
- temp.setDescription(rs.getString("description"));
- return temp;
- }
- };
- List<Book> list = jdbcTemplate.query(sql, rm);
- System.out.println(list);
- }
- @Test
- void testJdbcTemplateSave(@Autowired JdbcTemplate jdbcTemplate){
- String sql = "insert into tbl_book values(3,'springboot1','springboot2','springboot3')";
- jdbcTemplate.update(sql);
- }
如果想对JdbcTemplate对象进行相关配置,可以在yml文件中进行设定
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-jpa</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- #h2数据库
- server:
- port: 80
- spring:
- h2:
- console: #此时这个h2数据库就可以通过控制台进行访问了
- enabled: true
- path: /h2 #设置一个web访问程序,启动路径为指定名称就行了
-
- datasource:
- url: jdbc:h2:~/test
- hikari:
- # driver-class-name: org.h2.Driver
- username: sa
- password: 123456
-
- mybatis-plus:
- global-config:
- db-config:
- table-prefix: tbl_
- id-type: auto
- configuration:
- log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
市面上常见的NoSQL解决方案
(在这里填个坑,日后再来补充)
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。