一、Spring对不同的持久化层技术都进行封装
二、操作
1.导包
2.jdbcTemplateTest1.java
3.结果
其他操作
添加操作
删除操作
查询操作
①
②
③
源代码
package cn.yyf.jdbc;
import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
/**
* Created by Donald on 2017/2/5.
*/
public class JdbcTemplateDemo1 {
@Test
public void add(){
DriverManagerDataSource dataSource =
new DriverManagerDataSource();
dataSource.setDriverClassName(
"com.mysql.jdbc.Driver");
dataSource.setUrl(
"jdbc:mysql://127.0.0.1:3306/test");
dataSource.setUsername(
"root");
dataSource.setPassword(
"admin");
JdbcTemplate jdbcTemplate =
new JdbcTemplate(dataSource);
String sql =
"insert into users values(?, ?, ?, ?, ?, ?)";
int rows = jdbcTemplate.update(sql,
102,
"yyf",
"haha@163.com",
1,
112,
"123");
System.out.println(rows);
}
@Test
public void update(){
DriverManagerDataSource dataSource =
new DriverManagerDataSource();
dataSource.setDriverClassName(
"com.mysql.jdbc.Driver");
dataSource.setUrl(
"jdbc:mysql://127.0.0.1:3306/test");
dataSource.setUsername(
"root");
dataSource.setPassword(
"admin");
JdbcTemplate jdbcTemplate =
new JdbcTemplate(dataSource);
String sql =
"UPDATE users SET passwd=? WHERE id=?";
int rows = jdbcTemplate.update(sql,
"456",
102);
System.out.println(rows);
}
@Test
public void delete(){
DriverManagerDataSource dataSource =
new DriverManagerDataSource();
dataSource.setDriverClassName(
"com.mysql.jdbc.Driver");
dataSource.setUrl(
"jdbc:mysql://127.0.0.1:3306/test");
dataSource.setUsername(
"root");
dataSource.setPassword(
"admin");
JdbcTemplate jdbcTemplate =
new JdbcTemplate(dataSource);
String sql =
"DELETE from users WHERE id=?";
int rows = jdbcTemplate.update(sql,
102);
System.out.println(rows);
}
/**
* QueryRunner runner = new QueryRuner(datasource);
* 返回对象
* runner.query(sql, new BeanHandler<User>(User.class));
*
* 返回list集合
* runner.query(sql, new BeanListHander<User>(User.class))
*
* 1. 在dbutils时候,有接口ResultSetHandler
* dbutils提供了针对不同的结果实现类
*
*
* 2. jdbcTemplate实现查询,有接口RowMapper,
* jdbcTemplate针对这个接口没有提供实现类,得到不同的类型数据需要自己进行数据封装
*
*
*/
@Test
public void select1(){
DriverManagerDataSource dataSource =
new DriverManagerDataSource();
dataSource.setDriverClassName(
"com.mysql.jdbc.Driver");
dataSource.setUrl(
"jdbc:mysql://127.0.0.1:3306/test");
dataSource.setUsername(
"root");
dataSource.setPassword(
"admin");
JdbcTemplate jdbcTemplate =
new JdbcTemplate(dataSource);
String sql =
"SELECT count(*) from users";
int count = jdbcTemplate.queryForObject(sql, Integer.class);
System.out.println(count);
}
@Test
public void testObject(){
DriverManagerDataSource dataSource =
new DriverManagerDataSource();
dataSource.setDriverClassName(
"com.mysql.jdbc.Driver");
dataSource.setUrl(
"jdbc:mysql://127.0.0.1:3306/test");
dataSource.setUsername(
"root");
dataSource.setPassword(
"admin");
JdbcTemplate jdbcTemplate =
new JdbcTemplate(dataSource);
String sql =
"SELECT * from users WHERE id=?";
User user = jdbcTemplate.queryForObject(sql,
new MyRowMapper(),
100);
System.out.println(user);
}
@Test
public void testList(){
DriverManagerDataSource dataSource =
new DriverManagerDataSource();
dataSource.setDriverClassName(
"com.mysql.jdbc.Driver");
dataSource.setUrl(
"jdbc:mysql://127.0.0.1:3306/test");
dataSource.setUsername(
"root");
dataSource.setPassword(
"admin");
JdbcTemplate jdbcTemplate =
new JdbcTemplate(dataSource);
String sql =
"SELECT * from users ";
List<User> list = jdbcTemplate.query(sql,
new MyRowMapper());
System.out.println(list);
}
}
class MyRowMapper implements RowMapper<User> {
public User
mapRow(ResultSet rs,
int num)
throws SQLException{
String username = rs.getString(
"username");
String passwd = rs.getString(
"passwd");
int id = rs.getInt(
"id");
String email = rs.getString(
"email");
int grade = rs.getInt(
"grade");
String tele = rs.getString(
"tele");
User user =
new User();
user.setUsername(username);
user.setEmail(email);
user.setGrade(grade);
user.setId(id);
user.setPasswd(passwd);
user.setTele(tele);
return user;
}
}
package cn.yyf.jdbc;
/**
* Created by Donald on 2017/2/6.
*/
public class User {
private String username;
private Integer id;
private String email;
private Integer grade;
private String tele;
private String passwd;
public String
getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer
getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String
getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Integer
getGrade() {
return grade;
}
public void setGrade(Integer grade) {
this.grade = grade;
}
public String
getTele() {
return tele;
}
public void setTele(String tele) {
this.tele = tele;
}
public String
getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
@Override
public String
toString() {
return "User{" +
"username='" + username +
'\'' +
", id=" + id +
", email='" + email +
'\'' +
", grade=" + grade +
", tele='" + tele +
'\'' +
", passwd='" + passwd +
'\'' +
'}';
}
}