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

spring boot 教程(五)使用JdbcTemplate访问数据库

2017-08-09 15:24 796 查看
今天用Spring Boot访问一下数据库,并且把数据返回到页面中,进行增删改查操作。主要介绍springboot通过jdbc访问关系型MySQL,通过spring的JdbcTemplate去访问。
创建mysql:
CREATE TABLE `users` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
`age` INT,
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `users` VALUES ('1', 'aaa', 18);
INSERT INTO `users` VALUES ('2', 'bbb', 19);

数据源配置

在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式。首先,为了连接数据库需要引入jdbc支持,在
pom.xml
中引入如下配置:<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

连接生产数据源

以MySQL数据库为例,先引入MySQL连接的依赖包,在
pom.xml
中加入:<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>在
src/main/resources/application.properties
中配置数据源信息
创建实体类public class Users {
private Integer id;
private String name;
private Integer age;创建service接口public interface UserServices {
int add(Users users);

int update(Users users);

int delete(int id);

Users findUsersById(int id);

List<Users> findAccountList();

}
创建dao实现@Repository
public class UserDao implements UserServices{
@Autowired
private JdbcTemplate jdbcTemplate;
@Autowired
private NamedParameterJdbcTemplate namedParameterJdbcTemplate_love;
@Override
public int add(Users users) {
return jdbcTemplate.update("insert into users(name, age) values(?, ?)",users.getName(),users.getAge());
}

@Override
public int update(Users users) {
return jdbcTemplate.update(" update users set name=?,age=? where id=?",users.getName(),users.getAge(),users.getId());
}

@Override
public int delete(int id) {
// TODO Auto-generated method stub
return 0;
}

@Override
public Users findUsersById(int id) {
// TODO Auto-generated method stub
return null;
}

@Override
public List<Users> findAccountList() {
return namedParameterJdbcTemplate_love.query("select *from users",new BeanPropertyRowMapper(Users.class));
}

}创建controller@RestController
@RequestMapping("/users")
public class UsersController {
@Autowired
UserServices userServices;

@RequestMapping(value = "/list",method = RequestMethod.GET)
public List<Users> getUsers(){
return userServices.findAccountList();
}

}
最后访问一下,看页面效果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: