嵌入式数据库通常用于开发和测试环境,不推荐用于生产环境。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就完事了,可以尝试敲一下,轻松访问数据库,但是开发中还是不建议使用该访问数据格式,接下来的文章继续介绍。