今天用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();
}
}
最后访问一下,看页面效果