springboot学习(七) 使用JdbcTemplate

1、对内嵌数据库的支持

  内嵌数据库通常用于开发和测试环境,不推荐用于生产环境。Spring Boot提供自动配置的嵌入式数据库有H2、HSQL、Derby,你不需要提供任何连接配置就能使用。

  例子:

 1 <dependency>
 2     <groupId>org.springframework.boot</groupId>
 3     <artifactId>spring-boot-starter-data-jpa</artifactId>
 4 </dependency>
 5 
 6 <dependency>
 7     <groupId>org.hsqldb</groupId>
 8     <artifactId>hsqldb</artifactId>
 9     <scope>runtime</scope>
10 </dependency>

 

2、连接生产数据库(Mysql)

  导入数据库依赖:

 1 <dependency>
 2     <groupId>org.springframework.boot</groupId>
 3     <artifactId>spring-boot-starter-jdbc</artifactId>
 4 </dependency>
 5 
 6 <dependency>
 7     <groupId>mysql</groupId>
 8     <artifactId>mysql-connector-java</artifactId>
 9     <version>6.0.6</version>
10 </dependency>

 

  然后在application.properties配置文件中添加mysql配置:

1 spring.datasource.url=jdbc:mysql://localhost:3306/test
2 spring.datasource.username=dbuser
3 spring.datasource.password=dbpass
4 spring.datasource.driver-class-name=com.mysql.jdbc.Driver

 

 

 3、使用JdbcTemplate操作数据库

  首先在数据库中创建用户表USER,并添加字段name和age。

  接口类:

 1 public interface UserService {
 2 
 3     /**
 4      * 新增一个用户
 5      * @param name
 6      * @param age
 7      */
 8     void create(String name, Integer age);
 9 
10     /**
11      * 根据name删除一个用户高
12      * @param name
13      */
14     void deleteByName(String name);
15 
16     /**
17      * 获取用户总量
18      */
19     Integer getAllUsers();
20 }

  实现类:

 1 @Service
 2 public class UserServiceImpl implements UserService {
 3 
 4     @Autowired
 5     private JdbcTemplate jdbcTemplate;
 6 
 7     @Override
 8     public void create(String name, Integer age) {
 9         jdbcTemplate.update("insert into USER(NAME, AGE) values(?, ?)", name, age);
10     }
11 
12     @Override
13     public void deleteByName(String name) {
14         jdbcTemplate.update("delete from USER where NAME = ?", name);
15     }
16 
17     @Override
18     public Integer getAllUsers() {
19         return jdbcTemplate.queryForObject("select count(1) from USER", Integer.class);
20     }
21 }

  测试类:

 1 @RunWith(SpringRunner.class)
 2 @SpringBootTest(classes = Application.class)
 3 public class JdbcTest {
 4 
 5     @Autowired
 6     private UserService userService;
 7 
 8     @Test
 9     public void test() {
10         userService.create("a1", 11);
11 
12         System.out.println("----");
13 
14         System.out.println(userService.getAllUsers());
15     }
16 }

 

posted on 2018-01-21 16:44  程序员AI  阅读(190)  评论(0编辑  收藏  举报

导航