一、代碼學習
爲了使操作數據庫更加簡單,這裏分享Spring框架操作數據庫,它對JDBC進行簡單封裝,提供了JdbcTemplate對象
光說不練歪把子
直接上代碼,有疑問,下方留言一起交流
Student類:這裏直接省略(它就是一個bean對象)
JdbcTemplateDemo02類
package jdbcTemplate_study;
/*
* Spring JDBC的JDBCTemplate練習:
* 需求:
1. 修改18052000號數據的 Sage 爲 24
2. 添加一條記錄
3. 刪除剛纔添加的記錄
4. 查詢id爲18052000的記錄,將其封裝爲Map集合
5. 查詢所有記錄,將其封裝爲List
6. 查詢所有記錄,將其封裝爲student對象的List集合
7. 查詢總記錄數
@author:放牛娃學編程
*/
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.junit.Test;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import utils.JdbcUtils;
public class JdbcTemplateDemo02 {
//獲取JdbcTemplate對象
private JdbcTemplate template = new JdbcTemplate(JdbcUtils.getDatasource());
/*
* 1. 修改18052000號數據的 Sage 爲 24
*/
@Test
public void test1()
{
//定義sql語句
String sql = "Update students set Sage=? where Sno=?";
//調用方法
int count = template.update(sql, 24,"18052000");
System.out.println(count);
}
/*
* 2. 添加一條記錄
*/
@Test
public void test2()
{
String sql = "insert into students values(?,?,?,?,?)";
int count = template.update(sql, "110","分享","男",16,"中科院");
System.out.println(count);
}
/*
* 3. 刪除剛纔添加的記錄
*/
@Test
public void test3()
{
String sql = "delete from students where Sno=?";
int count = template.update(sql, "110");
System.out.println(count);
}
/**
* 4. 查詢id爲18052000的記錄,將其封裝爲Map集合
* 注意:這個方法查詢的結果集長度只能是1
*/
@Test
public void test4()
{
String sql = "select * from students where Sno=?";
Map<String,Object> map = template.queryForMap(sql, "18052000");
System.out.println(map);
}
/**
* 5. 查詢所有記錄,將其封裝爲List
*/
@Test
public void test5()
{
String sql = "select * from students";
List<Map<String, Object>> list = template.queryForList(sql);
for(Map<String, Object> map : list)
{
System.out.println(map);
}
}
/**
* 6. 查詢所有記錄,將其封裝爲student對象的List集合
*/
@Test
public void test6()
{
String sql = "select * from students";
List<Student> list = template.query(sql, new RowMapper<Student>() {
@Override
public Student mapRow(ResultSet rs, int arg1) throws SQLException {
// TODO Auto-generated method stub
String Sno = rs.getString("Sno");
String Sname = rs.getString("Sname");
String Ssex = rs.getString("Ssex");
int Sage = rs.getInt("Sage");
String Sdept = rs.getString("Sdept");
Student student = new Student();
student.setSno(Sno);
student.setSname(Sname);
student.setSsex(Ssex);
student.setSage(Sage);
student.setSdept(Sdept);
return student;
}
});
for(Student st:list)
{
System.out.println(st);
}
}
/**
* 6. 查詢所有記錄,將其封裝爲student對象的List集合
*/
@Test
public void test6_2()
{
String sql = "select * from students";
List<Student> list = template.query(sql, new BeanPropertyRowMapper<Student>(Student.class));
for(Student st: list)
{
System.out.println(st);
}
}
/**
* 7. 查詢總記錄數
*/
@Test
public void test7()
{
String sql = "select count(Sno) from students";
Long total = template.queryForObject(sql, Long.class);
System.out.println(total);
}
}
說明:test6_2很重要喲
二、分享交流
最後有興趣一起交流的,可以關注我的公衆號:這裏你能夠學到很實用的技巧,不是常用的我不說,公衆號回覆提取碼即可獲取以下學習資料啦啦啦啦,喜歡就拿去吧!!
(鏈接時常會失效,若出現此類情況,可以加我微信:17722328325(加時請備註:學習資料))
-
Java web從入門到精通電子書
-
Python機器學習電子書
-
Python400集(北京尚學堂)
-
JavaScript項目案例、經典面試題
-
Java300集(入門、精通)
-
Java後端培訓機構錄集(同事培訓內部提供)
-
java重要知識pdf文檔(價值連城呀呀,不收藏你會後悔的)