您的位置:首页 > 编程语言 > Java开发

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

2017-01-23 17:57 946 查看
     嵌入式数据库通常用于开发和测试环境,不推荐用于生产环境。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就完事了,可以尝试敲一下,轻松访问数据库,但是开发中还是不建议使用该访问数据格式,接下来的文章继续介绍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息