SpringBoot 整合JDBC完成CRUD
主要就是对JdbcTemplate对象的创建与API的使用
创建SpringBoot项目
1 Pom文件,添加下列启动器与依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
2 修改appliaction.properties 文件,使用SpringBoot内置的DataSource
内置的数据源,只要在appliaction文件中配置即可
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/shouhe?useSSL=false
spring.datasource.username=root
spring.datasource.password=root
#更换默认的数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
或者使用手动注入的数据源
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/shouhe?useSSL=false
jdbc.username=root
jdbc.password=root
手动注入的数据源,需要使用@Configuration注解
/**
* @author 守鹤
* @date 2020/5/13 21:05
*/
@Configuration
public class JdbcDataSource {
@Bean
@ConfigurationProperties(prefix = "jdbc")
public DataSource getDataSource(){
DruidDataSource dataSource = new DruidDataSource();
return dataSource;
}
}
3 编写数据库操作层
**
* @author 守鹤
* @date 2020/5/13 20:31
*/
@Repository
public class UserDaoImpl implements UserDao {
//只要Spring容器中有数据源,就可以注入JdbcTemplate 对象
@Autowired
private JdbcTemplate template;
@Override
@Transaction
public Integer addUser(User user) {
String sql="insert into user values(default,?,?,?,?)";
return template.update(sql, user.getUname(), user.getPassword(), user.getSex(), user.getAge());
}
@Override
public List<User> selectAllUser() {
String sql="select * from user";
return template.query(sql, new RowMapper<User>() {
@Override
public User mapRow(ResultSet resultSet, int i) throws SQLException {
User user = new User();
user.setId(resultSet.getInt("id"));
user.setUname(resultSet.getString("uname"));
user.setPassword(resultSet.getString("password"));
user.setSex(resultSet.getInt("sex"));
user.setAge(resultSet.getInt("age"));
return user;
}
});
}
@Override
@Transaction
public Integer deleteUser(Integer id) {
String sql="delete from user where id=?";
return template.update(sql, id);
}
}
SpringBoot 整合JDBC demo
链接:https://pan.baidu.com/s/1VxhuunGIpSGuCtdA6rkHmg
提取码:3mrl