一、代码学习
为了使操作数据库更加简单,这里分享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文档(价值连城呀呀,不收藏你会后悔的)