• Spring Boot - 进阶 数 据 访 问 -使用jdbcTemplate访问数据库

来源:互联网 发布:linux下安装qt creator 编辑:程序博客网 时间:2024/05/14 00:51

     嵌入式数据库通常用于开发和测试环境,不推荐用于生产环境。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/springbootspring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.jdbc.Driver

接口:

public interface IUserService {     /**      * 获取用户总量      */     Integer getAllUsers();}

实现类:

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

实体:

@Componentpublic 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就完事了,可以尝试敲一下,轻松访问数据库,但是开发中还是不建议使用该访问数据格式,接下来的文章继续介绍。

2 0