Java JDBC(JdbcTemplate)对表的增删改查
先看:
JDBCUtils
再看:
然后增删改查:
package domain;
import JdU.JDBCUtils;
import org.junit.jupiter.api.Test;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
public class JDBCtemplate02 {
//Junit 单元测试,可以让方法独立执行
//修改
@Test
public void test1(){
JdbcTemplate jdbcTemplate=new JdbcTemplate(JDBCUtils.getDataSource());
String sql="update admin set aPwd=? where aID=2";
int update = jdbcTemplate.update(sql, "123");
System.out.println(update);
}
//添加
@Test
public void test2(){
JdbcTemplate jdbcTemplate=new JdbcTemplate(JDBCUtils.getDataSource());
String sql="insert into admin values(null,?,?,null)";
int qwe = jdbcTemplate.update(sql, "物理", "21412");
System.out.println(qwe);
}
//删除
@Test
public void test3(){
JdbcTemplate jdbcTemplate=new JdbcTemplate(JDBCUtils.getDataSource());
String sql="delete from admin where aID=?";
int update = jdbcTemplate.update(sql, "3");
System.out.println(update);
}
//查询出一条信息,封装成一个Map
@Test
public void test4(){
JdbcTemplate jdbcTemplate=new JdbcTemplate(JDBCUtils.getDataSource());
String sql="select * from admin where aID=?";
Map<String, Object> map = jdbcTemplate.queryForMap(sql,"4");//只能读一条
System.out.println(map);
}
//查询一个表的数据,封装成Map再添加到List集合
@Test
public void test5(){
JdbcTemplate jdbcTemplate=new JdbcTemplate(JDBCUtils.getDataSource());
String sql="select * from admin";
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);//封装为map,读每一条
for (Map<String, Object> map : maps) {
System.out.println(map);
}
}
//封装成EEEmp类再添加到List集合
@Test
public void test6(){
JdbcTemplate jdbcTemplate=new JdbcTemplate(JDBCUtils.getDataSource());
String sql="select * from admin ";
List<EEEmp> query = jdbcTemplate.query(sql, new RowMapper<EEEmp>() {
@Override
public EEEmp mapRow(ResultSet resultSet, int i) throws SQLException {
EEEmp eeEmp = new EEEmp();
int aID = resultSet.getInt("aID");
String aName = resultSet.getString("aName");
String aPwd = resultSet.getString("aPwd");
String aLastLogin = resultSet.getString("aLastLogin");
eeEmp.setAid(aID);
eeEmp.setaLastLogin(aLastLogin);
eeEmp.setaPwd(aPwd);
eeEmp.setaName(aName);
return eeEmp;
}
});
for (EEEmp eeEmp : query) {
System.out.println(eeEmp);
}
}
//打印表里的所有数据
@Test
public void test6_2(){
JdbcTemplate jdbcTemplate=new JdbcTemplate(JDBCUtils.getDataSource());
String sql="select * from admin ";
List<EEEmp> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<EEEmp>(EEEmp.class));
for (EEEmp eeEmp : query) {
System.out.println(eeEmp);
}
}
//打印表的行数
@Test
public void test7(){//查询总数量
JdbcTemplate jdbcTemplate=new JdbcTemplate(JDBCUtils.getDataSource());
String sql="select count(aID) from admin ";
Long aLong = jdbcTemplate.queryForObject(sql, Long.class);
System.out.println(aLong);
}
}
这个@Test是一个注解,加了后可以单独执行一个方法,就不用main函数调用了