天天看點

• Spring Boot - 進階 數 據 訪 問 -使用jdbcTemplate通路資料庫

     嵌入式資料庫通常用于開發和測試環境,不推薦用于生産環境。Spring Boot提供自動配置的嵌入式資料庫有H2、HSQL、Derby,你不需要提供任何連接配接配置就能使用。

Demo:

需要引入的maven依賴:

<!--使用JDBCTemplate通路資料-->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<dependency>
   <groupId>org.hsqldb</groupId>
   <artifactId>hsqldb</artifactId>
   <scope>runtime</scope>
</dependency>

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.21</version>
</dependency>
           

application.properties中配置資料源:

spring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
           

接口:

public interface IUserService {
     /**
      * 擷取使用者總量
      */
     Integer getAllUsers();
}
           

實作類:

@Service
public class UserServiceImpl implements IUserService{

    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Override
    public Integer getAllUsers() {
        return jdbcTemplate.queryForObject("select count(1) from user", Integer.class);
    }

}
           

實體:

@Component
public class User {
    private Long id;
    private String name;
    private Integer age;
    //get,set省略
}
           

Controller:

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private IUserService userService;

    @RequestMapping("/getUsers")
    public String getUsers(){
        Integer a =userService.getAllUsers();
        return a+"";
    }
}
           
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `name` varchar(255) NOT NULL default '',
  `age` int(11) default NULL,
  PRIMARY KEY  (`name`),
  UNIQUE KEY `age` USING BTREE (`age`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
---------------------------------------------------
INSERT INTO `user` VALUES ('1', '1');
INSERT INTO `user` VALUES ('w', '2');
INSERT INTO `user` VALUES ('w21', '31');
INSERT INTO `user` VALUES ('w2', '34');
           

       簡單的小demo就完事了,可以嘗試敲一下,輕松通路資料庫,但是開發中還是不建議使用該通路資料格式,接下來的文章繼續介紹。

繼續閱讀