Spring框架JDBC
本文内容纲要:Spring框架JDBC
*Spring框架对JDBC进行简单的封装。提供了一个JDBCTemplate对象简化JDBC的开发
*步骤:
1、导入jar包
2、创建JDBCTemplate对象,以来与数据源DataSource
*JDBCTemplate temp = new JDBCTemplate(ds);
3、调用jdbcT的方法来完成CRUD方法
*updata():执行DML语句,增删改
*queryForMap():查询结果将结果封装map集合
queryForLits():查询结果将结果集封装成为list集合
query():查询结果,将结果封装为JavaBean对象
queryForObject():查询结果,将结果封装为对象
package cn.it.jdbctempl;import cn.it.Duird.JDBCUtils;
import org.springframework.jdbc.core.JdbcTemplate;
//入门
public class JdbcTmpl {
public static void main(String[] args) {
//导入jar包 进入工作空间,也就是选择add as Module
//创建jdbcTemplat
JdbcTemplate tmpl = new JdbcTemplate(JDBCUtils.getDataSource());
//调用方法
String sql = "UPDATE db1 SET age = 3 WHERE id =?";
int count = tmpl.update(sql,2);
System.out.println(count);
}
}
tips:
利用BeanPropertyRowMapper可以直接有rowmap方,查询所有记录将其封装为对象的list集合package cn.it.jdbctempl;
import cn.it.Duird.JDBCUtils; import jdk.nashorn.internal.scripts.JD; import org.junit.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 JdbcTmplDemo { //直接在声明全员变量 这样就不用每个方法都写一次 private final JdbcTemplate template= new JdbcTemplate(JDBCUtils.getDataSource()); // @Test // public void test(){ // //modify // //写一个测试类:这样就不用psvm了 但是要注意 绿色不一样的没错 // //定义sql语句 // String sql = ""; // int count = template.update(sql); // System.out.println(count); // // } // @Test // public void test1(){ // //insert // //预编译,防止sql注入 注意where时需要 // String sql = "?,?,?"; // //number 是int型的字符 // int count = template.update(sql, number, "字符串", number); // System.out.println(count); // } // @Test // public void test02(){ // //delect // //number 是int型的字符 用于where // String sql = "?"; // int count = template.update(sql, number); // System.out.println(count); // } //4 查询一条记录 而map集合长度只能是1,将列名为K,值为V MAP<K,V> @Test public void test04(){ String sql = "select * from db1 where id = ?"; Map<String,Object> map = template.queryForMap(sql,3); System.out.println(map); //{id=3, age=3, name=123, time=null, password=null} } @Test public void test05(){ String sql = "select * from db1"; List<Map<String, Object>> list = template.queryForList(sql); //iter:快捷键 是增强for的快捷键 //而这个是将每条数据存入map集合,再将这个map集合存放在list里面 for (Map<String, Object> stringObjectMap : list) { System.out.println(stringObjectMap); //{id=1, age=12, name=123, time=null, password=null} //{id=2, age=3, name=123, time=null, password=null} //{id=3, age=3, name=123, time=null, password=null} //{id=4, age=12, name=213, time=null, password=null} //{id=5, age=12, name=123, time=null, password=null} //{id=6, age=15, name=12, time=null, password=null} //{id=7, age=15, name=tt, time=null, password=null} //{id=8, age=28, name=tt, time=null, password=null} //{id=9, age=28, name=tt, time=null, password=null} //{id=10, age=15, name=tt, time=null, password=root} //{id=11, age=20, name=ttt, time=null, password=root} } } //06 数据存在javabean里面,然后从javabean放入list @Test public void test06(){ String sql = "SELECT * FROM db1"; //这个方法非常难受 因为需要写好多好多- - 这里的mapRow其实还可以有方法 // List<Object> list= template.query(sql, new RowMapper<Object>() { // @Override // public Object mapRow(ResultSet rs, int i) throws SQLException { // return null; // } // }); //方法二:利用BeanPropertyRowMapper可以直接有rowmap方法 //查询所有记录将其封装为对象的list集合 List<userList> list = template.query(sql,new BeanPropertyRowMapper<userList>(userList.class)); for (userList userList : list) { System.out.println(userList); } //注意如果sql语句写错的话,也会出现报错的情况 //在user没有写入getset方法和tostring方法时 //可以成功运行 但是输出的是data的地址 /* cn.it.jdbctempl.userList@5c18298f cn.it.jdbctempl.userList@31f924f5 cn.it.jdbctempl.userList@5579bb86 cn.it.jdbctempl.userList@5204062d cn.it.jdbctempl.userList@4fcd19b3 cn.it.jdbctempl.userList@376b4233 cn.it.jdbctempl.userList@2fd66ad3 cn.it.jdbctempl.userList@5d11346a cn.it.jdbctempl.userList@7a36aefa cn.it.jdbctempl.userList@17211155 cn.it.jdbctempl.userList@b3d7190 */ } @Test public void test07(){ //打印所有的记录条数 queryForObject String sql = "select count(id) from db1"; Long total = template.queryForObject(sql, long.class); System.out.println(total); } }
本文内容总结:Spring框架JDBC
原文链接:https://www.cnblogs.com/tityaaaa/p/15861607.html
以上是 Spring框架JDBC 的全部内容, 来源链接: utcz.com/z/362672.html