JdbcTemplate
-
Spring k框架是一站式框架
- 针对javaEEsanceng三层,每一层都有解决的技术
- 在Dao层使用,使用jdbcTemplate
-
spring对不同的持久化技术都进行了封装
-
jdbcTemplate使用和dbutis使用很相识,都是对数据库进行crud操作
准备:
(1)导入jdbcTemplate依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
增加、修改、删除
//创建数据库对象,设置数据库对象
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///spring?serverTimezone=GMT%2B8");
dataSource.setUsername("root");
dataSource.setPassword("123456");
//(3)创建JdbcTemplate,设置数据源
JdbcTemplate template = new JdbcTemplate(dataSource);
//调用jdbcTemplate对象里面的方法实现操作
String sql = "insert into user values (?,?)";
int row =template.update(sql, "tom ", "250");
System.out.println(row);
查找
private void getUser() {
String sql = "select * from user where username =?";
//返回某个值
User user = template.queryForObject(sql, new RowMapper<User>() {
@Override
public User mapRow(ResultSet resultSet, int i) throws SQLException {
System.out.println(resultSet.getString("username"));
System.out.println(resultSet.getString("password"));
System.out.println(i);
return null;
}
}, "tom1");
System.out.println(user);
}
//查询记录
private void queryCount() {
String sql = "select count(username) from user";
//返回某个值
int count = template.queryForObject(sql, Integer.class);
System.out.println(count);
}