今天用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实现
@Repositorypublic 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 { @AutowiredUserServices userServices; @RequestMapping(value = "/list",method = RequestMethod.GET) public List<Users> getUsers(){ return userServices.findAccountList();} }
最后访问一下,看页面效果