0%

jdbc总结

SpringBoot中使用JdbcTemplate访问数据库


一、进行数据源的配置

1.引入jdbc的支持,在pom.xml中引入如下配置

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

2.pom.xml引入mysql数据库依赖包

1
2
3
4
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>

3.配置数据源信息

在application.properties中配置如下信息

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

全部配置完成后就可以用JdbcTemplate来操作数据库了


二、业务要求

我创建的User表中有id、name、email等属性,我们需要在项目中集成jdbc,主要有三个要求

  1. 完成在url中传递user信息然后在数据库中创建相关的数据,如我在url中传递了用户名,邮箱等数据,然后需要在数据库中创建对应的数据
  2. 完成一个url中传递user信息然后在数据库中修改相关的数据,如在url中传入用户id和新的用户名,数据库中的用户名进行更新
  3. 完成以下几个查询功能,分别根据用户id, 用户名排序获取所有数据并发送给浏览器,以及url中传递用户id,然后返回对应的用户信息

三、代码部分

Service接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public interface UserService {
/**
* 创建数据
* @param name
* @param email
*/
void create(String name,String email);

/**
* 更新数据
* @param name
* @param id
*/
void update(String name,int id);

/**
* 排序
* @param name
* @param id
*/
void sort(String name,int id);

/**
* 获取所有数据
*/
int getAllUsers();

/**
* 删除所有数据
*/
void deleteAllUsers();
}

接口实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@Service
public class UserServiceImpl implements UserService{
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void create(String name,String email){
jdbcTemplate.update("insert into USER (name,email) values (?,?)",name,email);
}
@Override
public void update(String name,int id){
jdbcTemplate.update("update USER (name ,id) where name =?,id=?",name,id);
}
@Override
public void sort(String name,int id){
jdbcTemplate.update("SELECT * FROM USER order by name ,id ASC ",name,id);
}
@Override
public int getAllUsers(){
return jdbcTemplate.queryForObject("select * from USER",int.class);
}
@Override
public void deleteAllUsers(){
jdbcTemplate.update("delete from USER");
}
}